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)

예제 #2
0
    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))