Пример #1
0
    }

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)
Пример #2
0
  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)