} if __name__ == '__main__': import argparse cmdline = argparse.ArgumentParser() cmdline.add_argument("dtd") cmdline.add_argument("hxx") cmdline.add_argument("cxx") args = cmdline.parse_args() dtd = DTD(args.dtd) metadata = { 'dtd': dtd, 'enumerations': enumerations, 'extra_methods': methods, 'enum_classes': sorted([(v['name'], k) for k, v in enumerations.items() if not v in [e.name for e in dtd.iterelements()]]), 'forwards_for': { 'ornament': ['ornament_type'], 'score': ['score_data', 'score_header'] } } with open(args.hxx, 'w') as hxx: print(template('LIBRARY_HEADER').render(metadata), file=hxx) with open(args.cxx, 'w') as cxx: print(template('LIBRARY_IMPLEMENTATION').render(metadata), file=cxx)
methods[element] = { 'declaration': template('PCDATA_OPERATOR_DECLARATION').render( {'class': element, 'type': 'int'}), 'definition': template('PCDATA_OPERATOR_DEFINITION').render( {'class': element, 'type': 'int'}) } if __name__ == '__main__': import argparse cmdline = argparse.ArgumentParser() cmdline.add_argument("dtd") cmdline.add_argument("hxx") cmdline.add_argument("cxx") args = cmdline.parse_args() dtd = DTD(args.dtd) metadata = { 'dtd': dtd, 'enumerations': enumerations, 'extra_methods': methods, 'enum_classes': sorted([(v['name'], k) for k, v in enumerations.items() if not v in [e.name for e in dtd.iterelements()]]), 'forwards_for': {'ornament': ['ornament_type'], 'score': ['score_data', 'score_header']} } with open(args.hxx, 'w') as hxx: print(template('LIBRARY_HEADER').render(metadata), file=hxx) with open(args.cxx, 'w') as cxx: print(template('LIBRARY_IMPLEMENTATION').render(metadata), file=cxx)