Code Duplication    Length = 29-33 lines in 2 locations

src/ocrd_models/ocrd_page_generateds.py 2 locations

@@ 15326-15358 (lines=33) @@
15323
    return rootObj, rootElement, mapping, reverse_node_mapping
15324
15325
15326
def parseString(inString, silence=False, print_warnings=True):
15327
    '''Parse a string, create the object tree, and export it.
15328
15329
    Arguments:
15330
    - inString -- A string.  This XML fragment should not start
15331
      with an XML declaration containing an encoding.
15332
    - silence -- A boolean.  If False, export the object.
15333
    Returns -- The root object in the tree.
15334
    '''
15335
    parser = None
15336
    rootNode= parsexmlstring_(inString, parser)
15337
    gds_collector = GdsCollector_()
15338
    rootTag, rootClass = get_root_tag(rootNode)
15339
    if rootClass is None:
15340
        rootTag = 'PcGts'
15341
        rootClass = PcGts
15342
    rootObj = rootClass.factory()
15343
    rootObj.build(rootNode, gds_collector_=gds_collector)
15344
    if not SaveElementTreeNode:
15345
        rootNode = None
15346
##     if not silence:
15347
##         sys.stdout.write('<?xml version="1.0" ?>\n')
15348
##         rootObj.export(
15349
##             sys.stdout, 0, name_=rootTag,
15350
##             namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"')
15351
    if print_warnings and len(gds_collector.get_messages()) > 0:
15352
        separator = ('-' * 50) + '\n'
15353
        sys.stderr.write(separator)
15354
        sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
15355
            len(gds_collector.get_messages()), ))
15356
        gds_collector.write_messages(sys.stderr)
15357
        sys.stderr.write(separator)
15358
    return rootObj
15359
15360
15361
def parseLiteral(inFileName, silence=False, print_warnings=True):
@@ 15361-15389 (lines=29) @@
15358
    return rootObj
15359
15360
15361
def parseLiteral(inFileName, silence=False, print_warnings=True):
15362
    parser = None
15363
    doc = parsexml_(inFileName, parser)
15364
    gds_collector = GdsCollector_()
15365
    rootNode = doc.getroot()
15366
    rootTag, rootClass = get_root_tag(rootNode)
15367
    if rootClass is None:
15368
        rootTag = 'PcGts'
15369
        rootClass = PcGts
15370
    rootObj = rootClass.factory()
15371
    rootObj.build(rootNode, gds_collector_=gds_collector)
15372
    # Enable Python to collect the space used by the DOM.
15373
    if not SaveElementTreeNode:
15374
        doc = None
15375
        rootNode = None
15376
##     if not silence:
15377
##         sys.stdout.write('#from ocrd_page_generateds import *\n\n')
15378
##         sys.stdout.write('import ocrd_page_generateds as model_\n\n')
15379
##         sys.stdout.write('rootObj = model_.rootClass(\n')
15380
##         rootObj.exportLiteral(sys.stdout, 0, name_=rootTag)
15381
##         sys.stdout.write(')\n')
15382
    if print_warnings and len(gds_collector.get_messages()) > 0:
15383
        separator = ('-' * 50) + '\n'
15384
        sys.stderr.write(separator)
15385
        sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
15386
            len(gds_collector.get_messages()), ))
15387
        gds_collector.write_messages(sys.stderr)
15388
        sys.stderr.write(separator)
15389
    return rootObj
15390
15391
15392
def main():