def main(): parser = argparse.ArgumentParser(prog='index2doxygen-tag') parser.add_argument('link_map_fn', type=str, help='Path to index file to process') parser.add_argument( 'in_fn', type=str, help='the file name of the link map or \'web\' if no link remap ' 'should be done') parser.add_argument('chapters_fn', type=str, help='the file name of the source file') parser.add_argument('dest_fn', type=str, help='the file name of the destination file') args = parser.parse_args() link_map_fn = args.link_map_fn in_fn = args.in_fn chapters_fn = args.chapters_fn dest_fn = args.dest_fn out_f = open(dest_fn, 'w', encoding='utf-8') link_map = None if link_map_fn != 'web': link_map = LinkMap() link_map.read(link_map_fn) ns_map = Item() out_f.write('<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\n') out_f.write('<tagfile>\n') with open(chapters_fn, encoding='utf-8') as chapters_f: chapters_tree = etree.parse(chapters_f) for header_chapter in \ chapters_tree.getroot().findall(".//*[@name='Headers']/*"): out_f.write(' <compound kind="file">\n') out_f.write(' <name>{0}</name>\n'.format( header_chapter.attrib['name'])) out_f.write(' <filename>{0}</filename>\n'.format( header_chapter.attrib['link'])) out_f.write(' <namespace>std</namespace>\n') out_f.write(' </compound>\n') tr = Index2DoxygenTag(ns_map) tr.transform_file(in_fn) print_map(out_f, link_map, ns_map) out_f.write('''</tagfile> ''')
def main(): parser = argparse.ArgumentParser(prog='index2doxygen-tag') parser.add_argument( 'link_map_fn', type=str, help='Path to index file to process') parser.add_argument( 'in_fn', type=str, help='the file name of the link map or \'web\' if no link remap ' 'should be done') parser.add_argument( 'chapters_fn', type=str, help='the file name of the source file') parser.add_argument( 'dest_fn', type=str, help='the file name of the destination file') args = parser.parse_args() link_map_fn = args.link_map_fn in_fn = args.in_fn chapters_fn = args.chapters_fn dest_fn = args.dest_fn out_f = open(dest_fn, 'w', encoding='utf-8') link_map = None if link_map_fn != 'web': link_map = LinkMap() link_map.read(link_map_fn) ns_map = Item() out_f.write('<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\n') out_f.write('<tagfile>\n') with open(chapters_fn, encoding='utf-8') as chapters_f: chapters_tree = etree.parse(chapters_f) for header_chapter in \ chapters_tree.getroot().findall(".//*[@name='Headers']/*"): out_f.write(' <compound kind="file">\n') out_f.write(' <name>{0}</name>\n'.format( header_chapter.attrib['name'])) out_f.write(' <filename>{0}</filename>\n'.format( header_chapter.attrib['link'])) out_f.write(' <namespace>std</namespace>\n') out_f.write(' </compound>\n') tr = Index2DoxygenTag(ns_map) tr.transform_file(in_fn) print_map(out_f, link_map, ns_map) out_f.write('''</tagfile> ''')
* the file name of the destination file ''') sys.exit(1) link_map_fn = sys.argv[1] in_fn = sys.argv[2] dest_fn = sys.argv[3] indent_level_inc = 2 out_f = open(dest_fn, 'w') link_map = None if link_map_fn != 'web': link_map = LinkMap() link_map.read(link_map_fn) class ItemKind: VARIABLE = 0, FUNCTION = 1, CLASS = 2, TYPEDEF = 3, NAMESPACE = 4 class Item: def __init__(self): self.name = "" self.full_name = "" self.kind = ItemKind.NAMESPACE
import lxml.etree as e from link_map import LinkMap import sys if len(sys.argv) != 3: print('''Please provide the following 2 argument: * the file name of the source file * the file name of the destination file ''') in_fn = sys.argv[1] out_fn = sys.argv[2] mapping = LinkMap() mapping.read('output/link-map.xml') root = e.parse(in_fn) el_mod = root.xpath('//*[@link]') for el in el_mod: link = el.get('link') target = mapping.get_dest(link) if target == None: print('Could not find ' + link + ' in mapping') target = '404' el.set('link', target) out_f = open(out_fn, 'w') out_f.write(e.tostring(root, encoding='unicode', pretty_print=True)) out_f.close()
) sys.exit(1) link_map_fn = sys.argv[1] in_fn = sys.argv[2] chapters_fn = sys.argv[3] dest_fn = sys.argv[4] indent_level_inc = 2 out_f = open(dest_fn, "w") link_map = None if link_map_fn != "web": link_map = LinkMap() link_map.read(link_map_fn) class ItemKind: VARIABLE = (0,) FUNCTION = (1,) CLASS = (2,) TYPEDEF = (3,) NAMESPACE = 4 @total_ordering class Item: def __init__(self): self.name = "" self.full_name = ""