diff --git a/update_diffs.py b/update_diffs.py
index 1043066..5287861 100644
--- a/update_diffs.py
+++ b/update_diffs.py
@@ -5,6 +5,7 @@ import subprocess
import os
import tempfile
from pathlib import Path
+import ast
import parse
@@ -131,6 +132,21 @@ def get_module_developer(file_path):
return None
+def _parse_version_from_source(source: str):
+ try:
+ tree = ast.parse(source)
+ except SyntaxError:
+ return None
+
+ for node in tree.body:
+ if isinstance(node, ast.Assign):
+ for target in node.targets:
+ if isinstance(target, ast.Name) and target.id == "__version__":
+ try:
+ return ast.literal_eval(node.value)
+ except (ValueError, SyntaxError):
+ return None
+
def is_module_file(file_path):
"""Check if file is a Python module in a modules directory"""
@@ -271,8 +287,18 @@ async def main():
except Exception:
old_hash = arguments.base_commit
+ version = ""
+ try:
+ with open(file_path, 'r', encoding='utf-8') as f:
+ source = f.read()
+ version_tuple = _parse_version_from_source(source)
+ if version_tuple:
+ version = '.'.join(map(str, version_tuple))
+ except Exception as e:
+ print(f"Error parsing version from {file_path}: {e}")
+
diff_url = f"https://github.com/MuRuLOSE/limoka/compare/{old_hash}...{new_hash}.diff"
- title = f"🪼 Module {module_name} changes approved"
+ title = f"🪼 Module {module_name} {version} changes approved"
if developer:
title += f"\nby {developer}"