Code Duplication    Length = 113-118 lines in 2 locations

src/ocrd_models/ocrd_page_generateds.py 2 locations

@@ 6220-6337 (lines=118) @@
6217
# end class GridPointsType
6218
6219
6220
class PrintSpaceType(GeneratedsSuper):
6221
    """PrintSpaceType --
6222
    Determines the effective area on the paper of a printed page.
6223
    Its size is equal for all pages of a book
6224
    (exceptions: titlepage, multipage pictures).
6225
    It contains all living elements (except marginals)
6226
    like body type, footnotes, headings, running titles.
6227
    It does not contain pagenumber (if not part of running title),
6228
    marginals, signature mark, preview words.
6229
    
6230
    """
6231
    __hash__ = GeneratedsSuper.__hash__
6232
    member_data_items_ = [
6233
        MemberSpec_('Coords', 'CoordsType', 0, 0, {'name': 'Coords', 'type': 'CoordsType'}, None),
6234
    ]
6235
    subclass = None
6236
    superclass = None
6237
    def __init__(self, Coords=None, gds_collector_=None, **kwargs_):
6238
        self.gds_collector_ = gds_collector_
6239
        self.gds_elementtree_node_ = None
6240
        self.original_tagname_ = None
6241
        self.parent_object_ = kwargs_.get('parent_object_')
6242
        self.ns_prefix_ = "pc"
6243
        self.Coords = Coords
6244
        self.Coords_nsprefix_ = "pc"
6245
    def factory(*args_, **kwargs_):
6246
        if CurrentSubclassModule_ is not None:
6247
            subclass = getSubclassFromModule_(
6248
                CurrentSubclassModule_, PrintSpaceType)
6249
            if subclass is not None:
6250
                return subclass(*args_, **kwargs_)
6251
        if PrintSpaceType.subclass:
6252
            return PrintSpaceType.subclass(*args_, **kwargs_)
6253
        else:
6254
            return PrintSpaceType(*args_, **kwargs_)
6255
    factory = staticmethod(factory)
6256
    def get_ns_prefix_(self):
6257
        return self.ns_prefix_
6258
    def set_ns_prefix_(self, ns_prefix):
6259
        self.ns_prefix_ = ns_prefix
6260
    def get_Coords(self):
6261
        return self.Coords
6262
    def set_Coords(self, Coords):
6263
        self.Coords = Coords
6264
    def has__content(self):
6265
        if (
6266
            self.Coords is not None
6267
        ):
6268
            return True
6269
        else:
6270
            return False
6271
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='PrintSpaceType', pretty_print=True):
6272
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrintSpaceType')
6273
        if imported_ns_def_ is not None:
6274
            namespacedef_ = imported_ns_def_
6275
        if pretty_print:
6276
            eol_ = '\n'
6277
        else:
6278
            eol_ = ''
6279
        if self.original_tagname_ is not None and name_ == 'PrintSpaceType':
6280
            name_ = self.original_tagname_
6281
        if UseCapturedNS_ and self.ns_prefix_:
6282
            namespaceprefix_ = self.ns_prefix_ + ':'
6283
        showIndent(outfile, level, pretty_print)
6284
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
6285
        already_processed = set()
6286
        self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrintSpaceType')
6287
        if self.has__content():
6288
            outfile.write('>%s' % (eol_, ))
6289
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrintSpaceType', pretty_print=pretty_print)
6290
            showIndent(outfile, level, pretty_print)
6291
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
6292
        else:
6293
            outfile.write('/>%s' % (eol_, ))
6294
    def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrintSpaceType'):
6295
        pass
6296
    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):
6297
        if pretty_print:
6298
            eol_ = '\n'
6299
        else:
6300
            eol_ = ''
6301
        if self.Coords is not None:
6302
            namespaceprefix_ = self.Coords_nsprefix_ + ':' if (UseCapturedNS_ and self.Coords_nsprefix_) else ''
6303
            self.Coords.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Coords', pretty_print=pretty_print)
6304
    def to_etree(self, parent_element=None, name_='PrintSpaceType', mapping_=None, reverse_mapping_=None, nsmap_=None):
6305
        if parent_element is None:
6306
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
6307
        else:
6308
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
6309
        if self.Coords is not None:
6310
            Coords_ = self.Coords
6311
            Coords_.to_etree(element, name_='Coords', mapping_=mapping_, reverse_mapping_=reverse_mapping_, nsmap_=nsmap_)
6312
        if mapping_ is not None:
6313
            mapping_[id(self)] = element
6314
        if reverse_mapping_ is not None:
6315
            reverse_mapping_[element] = self
6316
        return element
6317
    def build(self, node, gds_collector_=None):
6318
        self.gds_collector_ = gds_collector_
6319
        if SaveElementTreeNode:
6320
            self.gds_elementtree_node_ = node
6321
        already_processed = set()
6322
        self.ns_prefix_ = node.prefix
6323
        self._buildAttributes(node, node.attrib, already_processed)
6324
        for child in node:
6325
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
6326
            self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
6327
        return self
6328
    def _buildAttributes(self, node, attrs, already_processed):
6329
        pass
6330
    def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
6331
        if nodeName_ == 'Coords':
6332
            obj_ = CoordsType.factory(parent_object_=self)
6333
            obj_.build(child_, gds_collector_=gds_collector_)
6334
            self.Coords = obj_
6335
            obj_.original_tagname_ = 'Coords'
6336
    def __hash__(self):
6337
        return hash(self.id)
6338
# end class PrintSpaceType
6339
6340
@@ 12110-12222 (lines=113) @@
12107
# end class TableCellRoleType
12108
12109
12110
class RolesType(GeneratedsSuper):
12111
    """TableCellRole --
12112
    Data for a region that takes on the role
12113
    of a table cell within a parent table region.
12114
    
12115
    """
12116
    __hash__ = GeneratedsSuper.__hash__
12117
    member_data_items_ = [
12118
        MemberSpec_('TableCellRole', 'TableCellRoleType', 0, 1, {'maxOccurs': '1', 'minOccurs': '0', 'name': 'TableCellRole', 'type': 'TableCellRoleType'}, None),
12119
    ]
12120
    subclass = None
12121
    superclass = None
12122
    def __init__(self, TableCellRole=None, gds_collector_=None, **kwargs_):
12123
        self.gds_collector_ = gds_collector_
12124
        self.gds_elementtree_node_ = None
12125
        self.original_tagname_ = None
12126
        self.parent_object_ = kwargs_.get('parent_object_')
12127
        self.ns_prefix_ = "pc"
12128
        self.TableCellRole = TableCellRole
12129
        self.TableCellRole_nsprefix_ = "pc"
12130
    def factory(*args_, **kwargs_):
12131
        if CurrentSubclassModule_ is not None:
12132
            subclass = getSubclassFromModule_(
12133
                CurrentSubclassModule_, RolesType)
12134
            if subclass is not None:
12135
                return subclass(*args_, **kwargs_)
12136
        if RolesType.subclass:
12137
            return RolesType.subclass(*args_, **kwargs_)
12138
        else:
12139
            return RolesType(*args_, **kwargs_)
12140
    factory = staticmethod(factory)
12141
    def get_ns_prefix_(self):
12142
        return self.ns_prefix_
12143
    def set_ns_prefix_(self, ns_prefix):
12144
        self.ns_prefix_ = ns_prefix
12145
    def get_TableCellRole(self):
12146
        return self.TableCellRole
12147
    def set_TableCellRole(self, TableCellRole):
12148
        self.TableCellRole = TableCellRole
12149
    def has__content(self):
12150
        if (
12151
            self.TableCellRole is not None
12152
        ):
12153
            return True
12154
        else:
12155
            return False
12156
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='RolesType', pretty_print=True):
12157
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('RolesType')
12158
        if imported_ns_def_ is not None:
12159
            namespacedef_ = imported_ns_def_
12160
        if pretty_print:
12161
            eol_ = '\n'
12162
        else:
12163
            eol_ = ''
12164
        if self.original_tagname_ is not None and name_ == 'RolesType':
12165
            name_ = self.original_tagname_
12166
        if UseCapturedNS_ and self.ns_prefix_:
12167
            namespaceprefix_ = self.ns_prefix_ + ':'
12168
        showIndent(outfile, level, pretty_print)
12169
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
12170
        already_processed = set()
12171
        self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RolesType')
12172
        if self.has__content():
12173
            outfile.write('>%s' % (eol_, ))
12174
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RolesType', pretty_print=pretty_print)
12175
            showIndent(outfile, level, pretty_print)
12176
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
12177
        else:
12178
            outfile.write('/>%s' % (eol_, ))
12179
    def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RolesType'):
12180
        pass
12181
    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):
12182
        if pretty_print:
12183
            eol_ = '\n'
12184
        else:
12185
            eol_ = ''
12186
        if self.TableCellRole is not None:
12187
            namespaceprefix_ = self.TableCellRole_nsprefix_ + ':' if (UseCapturedNS_ and self.TableCellRole_nsprefix_) else ''
12188
            self.TableCellRole.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TableCellRole', pretty_print=pretty_print)
12189
    def to_etree(self, parent_element=None, name_='RolesType', mapping_=None, reverse_mapping_=None, nsmap_=None):
12190
        if parent_element is None:
12191
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
12192
        else:
12193
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
12194
        if self.TableCellRole is not None:
12195
            TableCellRole_ = self.TableCellRole
12196
            TableCellRole_.to_etree(element, name_='TableCellRole', mapping_=mapping_, reverse_mapping_=reverse_mapping_, nsmap_=nsmap_)
12197
        if mapping_ is not None:
12198
            mapping_[id(self)] = element
12199
        if reverse_mapping_ is not None:
12200
            reverse_mapping_[element] = self
12201
        return element
12202
    def build(self, node, gds_collector_=None):
12203
        self.gds_collector_ = gds_collector_
12204
        if SaveElementTreeNode:
12205
            self.gds_elementtree_node_ = node
12206
        already_processed = set()
12207
        self.ns_prefix_ = node.prefix
12208
        self._buildAttributes(node, node.attrib, already_processed)
12209
        for child in node:
12210
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
12211
            self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
12212
        return self
12213
    def _buildAttributes(self, node, attrs, already_processed):
12214
        pass
12215
    def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
12216
        if nodeName_ == 'TableCellRole':
12217
            obj_ = TableCellRoleType.factory(parent_object_=self)
12218
            obj_.build(child_, gds_collector_=gds_collector_)
12219
            self.TableCellRole = obj_
12220
            obj_.original_tagname_ = 'TableCellRole'
12221
    def __hash__(self):
12222
        return hash(self.id)
12223
# end class RolesType
12224
12225