Code Duplication    Length = 106-113 lines in 2 locations

src/ocrd_models/ocrd_page_generateds.py 2 locations

@@ 5465-5577 (lines=113) @@
5462
# end class GridPointsType
5463
5464
5465
class PrintSpaceType(GeneratedsSuper):
5466
    """Determines the effective area on the paper of a printed page.
5467
    Its size is equal for all pages of a book
5468
    (exceptions: titlepage, multipage pictures).
5469
    It contains all living elements (except marginals)
5470
    like body type, footnotes, headings, running titles.
5471
    It does not contain pagenumber (if not part of running title),
5472
    marginals, signature mark, preview words."""
5473
    __hash__ = GeneratedsSuper.__hash__
5474
    member_data_items_ = [
5475
        MemberSpec_('Coords', 'CoordsType', 0, 0, {'name': 'Coords', 'type': 'CoordsType'}, None),
5476
    ]
5477
    subclass = None
5478
    superclass = None
5479
    def __init__(self, Coords=None, gds_collector_=None, **kwargs_):
5480
        self.gds_collector_ = gds_collector_
5481
        self.gds_elementtree_node_ = None
5482
        self.original_tagname_ = None
5483
        self.parent_object_ = kwargs_.get('parent_object_')
5484
        self.ns_prefix_ = None
5485
        self.Coords = Coords
5486
        self.Coords_nsprefix_ = "pc"
5487
    def factory(*args_, **kwargs_):
5488
        if CurrentSubclassModule_ is not None:
5489
            subclass = getSubclassFromModule_(
5490
                CurrentSubclassModule_, PrintSpaceType)
5491
            if subclass is not None:
5492
                return subclass(*args_, **kwargs_)
5493
        if PrintSpaceType.subclass:
5494
            return PrintSpaceType.subclass(*args_, **kwargs_)
5495
        else:
5496
            return PrintSpaceType(*args_, **kwargs_)
5497
    factory = staticmethod(factory)
5498
    def get_ns_prefix_(self):
5499
        return self.ns_prefix_
5500
    def set_ns_prefix_(self, ns_prefix):
5501
        self.ns_prefix_ = ns_prefix
5502
    def get_Coords(self):
5503
        return self.Coords
5504
    def set_Coords(self, Coords):
5505
        self.Coords = Coords
5506
    def hasContent_(self):
5507
        if (
5508
            self.Coords is not None
5509
        ):
5510
            return True
5511
        else:
5512
            return False
5513
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='PrintSpaceType', pretty_print=True):
5514
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrintSpaceType')
5515
        if imported_ns_def_ is not None:
5516
            namespacedef_ = imported_ns_def_
5517
        if pretty_print:
5518
            eol_ = '\n'
5519
        else:
5520
            eol_ = ''
5521
        if self.original_tagname_ is not None and name_ == 'PrintSpaceType':
5522
            name_ = self.original_tagname_
5523
        if UseCapturedNS_ and self.ns_prefix_:
5524
            namespaceprefix_ = self.ns_prefix_ + ':'
5525
        showIndent(outfile, level, pretty_print)
5526
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
5527
        already_processed = set()
5528
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrintSpaceType')
5529
        if self.hasContent_():
5530
            outfile.write('>%s' % (eol_, ))
5531
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrintSpaceType', pretty_print=pretty_print)
5532
            showIndent(outfile, level, pretty_print)
5533
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
5534
        else:
5535
            outfile.write('/>%s' % (eol_, ))
5536
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrintSpaceType'):
5537
        pass
5538
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='PrintSpaceType', fromsubclass_=False, pretty_print=True):
5539
        if pretty_print:
5540
            eol_ = '\n'
5541
        else:
5542
            eol_ = ''
5543
        if self.Coords is not None:
5544
            namespaceprefix_ = self.Coords_nsprefix_ + ':' if (UseCapturedNS_ and self.Coords_nsprefix_) else ''
5545
            self.Coords.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Coords', pretty_print=pretty_print)
5546
    def to_etree(self, parent_element=None, name_='PrintSpaceType', mapping_=None, nsmap_=None):
5547
        if parent_element is None:
5548
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
5549
        else:
5550
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
5551
        if self.Coords is not None:
5552
            Coords_ = self.Coords
5553
            Coords_.to_etree(element, name_='Coords', mapping_=mapping_, nsmap_=nsmap_)
5554
        if mapping_ is not None:
5555
            mapping_[id(self)] = element
5556
        return element
5557
    def build(self, node, gds_collector_=None):
5558
        self.gds_collector_ = gds_collector_
5559
        if SaveElementTreeNode:
5560
            self.gds_elementtree_node_ = node
5561
        already_processed = set()
5562
        self.ns_prefix_ = node.prefix
5563
        self.buildAttributes(node, node.attrib, already_processed)
5564
        for child in node:
5565
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
5566
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
5567
        return self
5568
    def buildAttributes(self, node, attrs, already_processed):
5569
        pass
5570
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
5571
        if nodeName_ == 'Coords':
5572
            obj_ = CoordsType.factory(parent_object_=self)
5573
            obj_.build(child_, gds_collector_=gds_collector_)
5574
            self.Coords = obj_
5575
            obj_.original_tagname_ = 'Coords'
5576
    def __hash__(self):
5577
        return hash(self.id)
5578
# end class PrintSpaceType
5579
5580
@@ 11116-11221 (lines=106) @@
11113
# end class TableCellRoleType
11114
11115
11116
class RolesType(GeneratedsSuper):
11117
    __hash__ = GeneratedsSuper.__hash__
11118
    member_data_items_ = [
11119
        MemberSpec_('TableCellRole', 'TableCellRoleType', 0, 1, {'maxOccurs': '1', 'minOccurs': '0', 'name': 'TableCellRole', 'type': 'TableCellRoleType'}, None),
11120
    ]
11121
    subclass = None
11122
    superclass = None
11123
    def __init__(self, TableCellRole=None, gds_collector_=None, **kwargs_):
11124
        self.gds_collector_ = gds_collector_
11125
        self.gds_elementtree_node_ = None
11126
        self.original_tagname_ = None
11127
        self.parent_object_ = kwargs_.get('parent_object_')
11128
        self.ns_prefix_ = None
11129
        self.TableCellRole = TableCellRole
11130
        self.TableCellRole_nsprefix_ = "pc"
11131
    def factory(*args_, **kwargs_):
11132
        if CurrentSubclassModule_ is not None:
11133
            subclass = getSubclassFromModule_(
11134
                CurrentSubclassModule_, RolesType)
11135
            if subclass is not None:
11136
                return subclass(*args_, **kwargs_)
11137
        if RolesType.subclass:
11138
            return RolesType.subclass(*args_, **kwargs_)
11139
        else:
11140
            return RolesType(*args_, **kwargs_)
11141
    factory = staticmethod(factory)
11142
    def get_ns_prefix_(self):
11143
        return self.ns_prefix_
11144
    def set_ns_prefix_(self, ns_prefix):
11145
        self.ns_prefix_ = ns_prefix
11146
    def get_TableCellRole(self):
11147
        return self.TableCellRole
11148
    def set_TableCellRole(self, TableCellRole):
11149
        self.TableCellRole = TableCellRole
11150
    def hasContent_(self):
11151
        if (
11152
            self.TableCellRole is not None
11153
        ):
11154
            return True
11155
        else:
11156
            return False
11157
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='RolesType', pretty_print=True):
11158
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('RolesType')
11159
        if imported_ns_def_ is not None:
11160
            namespacedef_ = imported_ns_def_
11161
        if pretty_print:
11162
            eol_ = '\n'
11163
        else:
11164
            eol_ = ''
11165
        if self.original_tagname_ is not None and name_ == 'RolesType':
11166
            name_ = self.original_tagname_
11167
        if UseCapturedNS_ and self.ns_prefix_:
11168
            namespaceprefix_ = self.ns_prefix_ + ':'
11169
        showIndent(outfile, level, pretty_print)
11170
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
11171
        already_processed = set()
11172
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RolesType')
11173
        if self.hasContent_():
11174
            outfile.write('>%s' % (eol_, ))
11175
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RolesType', pretty_print=pretty_print)
11176
            showIndent(outfile, level, pretty_print)
11177
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
11178
        else:
11179
            outfile.write('/>%s' % (eol_, ))
11180
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RolesType'):
11181
        pass
11182
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='RolesType', fromsubclass_=False, pretty_print=True):
11183
        if pretty_print:
11184
            eol_ = '\n'
11185
        else:
11186
            eol_ = ''
11187
        if self.TableCellRole is not None:
11188
            namespaceprefix_ = self.TableCellRole_nsprefix_ + ':' if (UseCapturedNS_ and self.TableCellRole_nsprefix_) else ''
11189
            self.TableCellRole.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TableCellRole', pretty_print=pretty_print)
11190
    def to_etree(self, parent_element=None, name_='RolesType', mapping_=None, nsmap_=None):
11191
        if parent_element is None:
11192
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
11193
        else:
11194
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
11195
        if self.TableCellRole is not None:
11196
            TableCellRole_ = self.TableCellRole
11197
            TableCellRole_.to_etree(element, name_='TableCellRole', mapping_=mapping_, nsmap_=nsmap_)
11198
        if mapping_ is not None:
11199
            mapping_[id(self)] = element
11200
        return element
11201
    def build(self, node, gds_collector_=None):
11202
        self.gds_collector_ = gds_collector_
11203
        if SaveElementTreeNode:
11204
            self.gds_elementtree_node_ = node
11205
        already_processed = set()
11206
        self.ns_prefix_ = node.prefix
11207
        self.buildAttributes(node, node.attrib, already_processed)
11208
        for child in node:
11209
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
11210
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
11211
        return self
11212
    def buildAttributes(self, node, attrs, already_processed):
11213
        pass
11214
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
11215
        if nodeName_ == 'TableCellRole':
11216
            obj_ = TableCellRoleType.factory(parent_object_=self)
11217
            obj_.build(child_, gds_collector_=gds_collector_)
11218
            self.TableCellRole = obj_
11219
            obj_.original_tagname_ = 'TableCellRole'
11220
    def __hash__(self):
11221
        return hash(self.id)
11222
# end class RolesType
11223
11224