Blame tools/check-lasso-sections.py

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