Source code for findreferences

'''
findreferences.py

create a graph of the (named) objects in an idf file.
the output is in DOT, so it can be visualized with graphviz.
'''
import parseidf
import re



[docs]def get_objects(idf): return [o for sublist in idf.values() for o in sublist]
[docs]def is_number(s): try: float(s) return True except ValueError: return False
if __name__ == '__main__': from optparse import OptionParser parser = OptionParser() parser.add_option('-i', '--idf', dest='idf') parser.add_option('-n', '--names', dest='names') options, args = parser.parse_args() idf = parseidf.parse(open(options.idf, 'r').read()) if options.names: names = [n[n.find(';') + 1:].strip() for n in open(options.names, 'r').readlines()] print_dot(idf, names) else: print_names(idf)