Code Duplication    Length = 39-39 lines in 2 locations

src/ocrd_models/ocrd_page_generateds.py 2 locations

@@ 6636-6674 (lines=39) @@
6633
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
6634
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
6635
        return self
6636
    def buildAttributes(self, node, attrs, already_processed):
6637
        value = find_attr_value_('id', node)
6638
        if value is not None and 'id' not in already_processed:
6639
            already_processed.add('id')
6640
            self.id = value
6641
        value = find_attr_value_('regionRef', node)
6642
        if value is not None and 'regionRef' not in already_processed:
6643
            already_processed.add('regionRef')
6644
            self.regionRef = value
6645
        value = find_attr_value_('index', node)
6646
        if value is not None and 'index' not in already_processed:
6647
            already_processed.add('index')
6648
            self.index = self.gds_parse_integer(value, node, 'index')
6649
        value = find_attr_value_('caption', node)
6650
        if value is not None and 'caption' not in already_processed:
6651
            already_processed.add('caption')
6652
            self.caption = value
6653
        value = find_attr_value_('type', node)
6654
        if value is not None and 'type' not in already_processed:
6655
            already_processed.add('type')
6656
            self.type_ = value
6657
            self.validate_GroupTypeSimpleType(self.type_)    # validate type GroupTypeSimpleType
6658
        value = find_attr_value_('continuation', node)
6659
        if value is not None and 'continuation' not in already_processed:
6660
            already_processed.add('continuation')
6661
            if value in ('true', '1'):
6662
                self.continuation = True
6663
            elif value in ('false', '0'):
6664
                self.continuation = False
6665
            else:
6666
                raise_parse_error(node, 'Bad boolean attribute')
6667
        value = find_attr_value_('custom', node)
6668
        if value is not None and 'custom' not in already_processed:
6669
            already_processed.add('custom')
6670
            self.custom = value
6671
        value = find_attr_value_('comments', node)
6672
        if value is not None and 'comments' not in already_processed:
6673
            already_processed.add('comments')
6674
            self.comments = value
6675
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
6676
        if nodeName_ == 'UserDefined':
6677
            obj_ = UserDefinedType.factory(parent_object_=self)
@@ 6166-6204 (lines=39) @@
6163
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
6164
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
6165
        return self
6166
    def buildAttributes(self, node, attrs, already_processed):
6167
        value = find_attr_value_('id', node)
6168
        if value is not None and 'id' not in already_processed:
6169
            already_processed.add('id')
6170
            self.id = value
6171
        value = find_attr_value_('regionRef', node)
6172
        if value is not None and 'regionRef' not in already_processed:
6173
            already_processed.add('regionRef')
6174
            self.regionRef = value
6175
        value = find_attr_value_('index', node)
6176
        if value is not None and 'index' not in already_processed:
6177
            already_processed.add('index')
6178
            self.index = self.gds_parse_integer(value, node, 'index')
6179
        value = find_attr_value_('caption', node)
6180
        if value is not None and 'caption' not in already_processed:
6181
            already_processed.add('caption')
6182
            self.caption = value
6183
        value = find_attr_value_('type', node)
6184
        if value is not None and 'type' not in already_processed:
6185
            already_processed.add('type')
6186
            self.type_ = value
6187
            self.validate_GroupTypeSimpleType(self.type_)    # validate type GroupTypeSimpleType
6188
        value = find_attr_value_('continuation', node)
6189
        if value is not None and 'continuation' not in already_processed:
6190
            already_processed.add('continuation')
6191
            if value in ('true', '1'):
6192
                self.continuation = True
6193
            elif value in ('false', '0'):
6194
                self.continuation = False
6195
            else:
6196
                raise_parse_error(node, 'Bad boolean attribute')
6197
        value = find_attr_value_('custom', node)
6198
        if value is not None and 'custom' not in already_processed:
6199
            already_processed.add('custom')
6200
            self.custom = value
6201
        value = find_attr_value_('comments', node)
6202
        if value is not None and 'comments' not in already_processed:
6203
            already_processed.add('comments')
6204
            self.comments = value
6205
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
6206
        if nodeName_ == 'UserDefined':
6207
            obj_ = UserDefinedType.factory(parent_object_=self)