s = baseclasses[i] baseclasses[i] = s[s.find("{") + 1 : s.find("}")] # store the baseclasses tree[classname] = baseclasses treetex[classname] = texFileName treepos[classname] = j + 1 print " class '%s' has %d base class(es): %s" % (classname, len(baseclasses), ",".join(baseclasses)) return True tree = dict() treetex = dict() treepos = dict() count = scanTexFiles(myCallback) print "\nProcessed %d files." % count print "\nNow starting to compare the base class lists.\n" def getFullListOfBaseClasses(classname): if classname not in tree or classname == "": return [] # only use the first base class of info taken from .tex files # i.e. we assume that at least the first class declared as base class is always correct baseclass = tree[classname][0] return [baseclass] + getFullListOfBaseClasses(baseclass)
if decl == "": print " no declaration associated with %s" % classname return True # go on with next \class print " the declaration associated with %s is %s" % (classname, decl) tofix.remove(texFileName) # was a valid .tex (at least for current class) # now modify the .tex file content.insert( j + 2, "\wxheading{Library}\n\n\helpref{wx%s}{librarieslist}\n\n" % decl) # write it file = open(texFileName, "w") file.write(''.join(content)) file.flush() print " updated %s" % texFileName fixed = fixed + 1 return True fixed = 0 tofix = set() count = scanTexFiles(myCallback) print "\nProcessed %d files, automatically fixed %d files." % (count, fixed) print "There are %d files to fix manually:\n%s" % (len(tofix), '\n'.join(tofix))