forked from ScoDoc/DocScoDoc
28 lines
646 B
Python
28 lines
646 B
Python
|
#!/usr/bin/env python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
"""Extract all string litterals from our code base.
|
||
|
|
||
|
Useful to check if an API function is used in a generated web page !
|
||
|
|
||
|
Usage:
|
||
|
extract_code_strings.py source.py ...
|
||
|
|
||
|
(replace RT by an existing departement id)
|
||
|
|
||
|
E. Viennet 2021-01-09
|
||
|
"""
|
||
|
from __future__ import print_function
|
||
|
|
||
|
import sys
|
||
|
import ast
|
||
|
|
||
|
L = []
|
||
|
for srcfilename in sys.argv[1:]:
|
||
|
print("processing %s" % srcfilename, file=sys.stderr)
|
||
|
with open(srcfilename) as f:
|
||
|
p = ast.parse(f.read())
|
||
|
L.extend(x.s.strip() for x in ast.walk(p) if x.__class__ == ast.Str)
|
||
|
|
||
|
L = sorted(set(L)) # uniq | sort
|
||
|
print("\n".join(L))
|