|
| 1 | +import os |
| 2 | +import subprocess |
| 3 | +from datetime import datetime, timezone |
| 4 | + |
| 5 | +# Get the list of modified files |
| 6 | +result = subprocess.run(['git', 'diff', '--name-only', 'HEAD~1'], stdout=subprocess.PIPE) |
| 7 | +modified_files = result.stdout.decode('utf-8').split() |
| 8 | + |
| 9 | +# Debugging: Print the list of modified files |
| 10 | +print("Modified files:", modified_files) |
| 11 | + |
| 12 | +# Filter for Markdown files |
| 13 | +modified_md_files = [f for f in modified_files if f.endswith('.md')] |
| 14 | + |
| 15 | +# Debugging: Print the list of modified Markdown files |
| 16 | +print("Modified Markdown files:", modified_md_files) |
| 17 | + |
| 18 | +# Current date |
| 19 | +current_date = datetime.now(timezone.utc).strftime('%Y-%m-%d') |
| 20 | + |
| 21 | +# Function to update the last modified date in a file |
| 22 | +def update_date_in_file(file_path): |
| 23 | + with open(file_path, 'r') as file: |
| 24 | + lines = file.readlines() |
| 25 | + |
| 26 | + updated = False |
| 27 | + with open(file_path, 'w') as file: |
| 28 | + for line in lines: |
| 29 | + if line.startswith('Last updated:'): |
| 30 | + file.write(f'Last updated: {current_date}\n') |
| 31 | + updated = True |
| 32 | + else: |
| 33 | + file.write(line) |
| 34 | + if not updated: |
| 35 | + file.write(f'\nLast updated: {current_date}\n') |
| 36 | + |
| 37 | +# Check if there are any modified Markdown files |
| 38 | +if not modified_md_files: |
| 39 | + print("No modified Markdown files found.") |
| 40 | + exit(0) |
| 41 | + |
| 42 | +# Update the date in each modified Markdown file |
| 43 | +for file_path in modified_md_files: |
| 44 | + print(f"Updating file: {file_path}") # Debugging: Print the file being updated |
| 45 | + update_date_in_file(file_path) |
| 46 | + |
| 47 | +# Add and commit changes |
| 48 | +subprocess.run(['git', 'add', '-A']) |
| 49 | +subprocess.run(['git', 'commit', '-m', 'Update last modified date in Markdown files']) |
0 commit comments