diff --git a/update_diffs.py b/update_diffs.py
index 3b9ba87..2a96e6f 100644
--- a/update_diffs.py
+++ b/update_diffs.py
@@ -71,6 +71,17 @@ def get_changed_files(base_commit):
except subprocess.CalledProcessError:
return []
+def get_deleted_files(base_commit):
+ """Get list of deleted files between commits"""
+ try:
+ result = subprocess.check_output(
+ ['git', 'diff', '--diff-filter=D', '--name-only', base_commit, 'HEAD'],
+ cwd=os.getcwd()
+ ).decode().strip().split('\n')
+ return [f for f in result if f]
+ except subprocess.CalledProcessError:
+ return []
+
def get_file_diff(file_path, base_commit):
"""Get diff for a specific file"""
try:
@@ -96,19 +107,37 @@ def extract_module_name(file_path):
async def main():
changed_files = get_changed_files(arguments.base_commit)
+ deleted_files = get_deleted_files(arguments.base_commit)
- if not changed_files:
+ all_files = changed_files + deleted_files
+
+ if not all_files:
print("No changes detected")
return
# Filter for module files only
module_files = [f for f in changed_files if is_module_file(f)]
+ deleted_module_files = [f for f in deleted_files if is_module_file(f)]
- if not module_files:
+ if not module_files and not deleted_module_files:
print("No module changes detected")
return
async with aiohttp.ClientSession() as session:
+ # Handle deleted files first
+ for file_path in deleted_module_files:
+ try:
+ module_name = extract_module_name(file_path)
+ message = (
+ f"🪼 Module {module_name} has been deleted"
+ # f"🪼 Module {module_name} by ueban123 changes approved\n\n"
+ )
+ result = await send_message(session, message)
+ print(f"Sent deletion notice for {module_name}: {result}")
+ except Exception as e:
+ print(f"Error processing deleted {file_path}: {e}")
+
+ # Handle changed files
for file_path in module_files:
try:
module_name = extract_module_name(file_path)