21 lines
626 B
Python
21 lines
626 B
Python
import ast
|
|
import os
|
|
from pathlib import Path
|
|
|
|
symbols = []
|
|
for root in ['src', 'simulation']:
|
|
for p in Path(root).rglob('*.py'):
|
|
try:
|
|
code = p.read_text(encoding='utf-8')
|
|
tree = ast.parse(code)
|
|
for node in tree.body:
|
|
if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef, ast.ClassDef)):
|
|
if not node.name.startswith('_'):
|
|
symbols.append((node.name, str(p)))
|
|
except Exception:
|
|
continue
|
|
|
|
print(f"TOTAL_SYMBOLS:{len(symbols)}")
|
|
for name, path in symbols:
|
|
print(f"SYMBOL:{name}|PATH:{path}")
|