Blame tools/check-lasso-sections.py

Packit 228f82
Packit 228f82
import sys
Packit 228f82
import os.path
Packit 228f82
import re
Packit 228f82
Packit 228f82
if len(sys.argv) < 3:
Packit 228f82
    print "Usage: check-lasso-sections.py lasso docs/referenrece/lasso/lasso-sections.txt"
Packit 228f82
    sys.exit(1)
Packit 228f82
source=sys.argv[1]
Packit 228f82
lasso_sections_txt=sys.argv[2]
Packit 228f82
Packit 228f82
methods=[]
Packit 228f82
Packit 228f82
for dirpath, dirnames, filenames in os.walk(source):
Packit 228f82
    for filename in filenames:
Packit 228f82
        _, ext = os.path.splitext(filename)
Packit 228f82
        lines = list(file(os.path.join(dirpath, filename)))
Packit 228f82
        while lines:
Packit 228f82
            line, lines = lines[0], lines[1:]
Packit 228f82
            line=line.strip()
Packit 228f82
            if line.startswith('LASSO_EXPORT'):
Packit 228f82
                while not ';' in line:
Packit 228f82
                    line=line.strip()
Packit 228f82
                    line, lines = line + lines[0], lines[1:]
Packit 228f82
                line=line.strip()
Packit 228f82
                m=re.match(r'LASSO_EXPORT[^(]*[ \t*](\w+)\s*\(', line)
Packit 228f82
                if m:
Packit 228f82
                    methods.append(m.group(1))
Packit 228f82
Packit 228f82
lasso_sections_txt=file(lasso_sections_txt).read()
Packit 228f82
Packit 228f82
print ' = Methods missing from lasso-sections.txt =\n'
Packit 228f82
for method in methods:
Packit 228f82
    if not method in lasso_sections_txt:
Packit 228f82
        print method
Packit 228f82
Packit 228f82
print ' = Methods in lasso-sections.txt which does not exist anymore = \n'
Packit 228f82
for line in lasso_sections_txt.splitlines():
Packit 228f82
    if line.startswith('lasso_'):
Packit 228f82
        if line not in methods:
Packit 228f82
            print line