Code Duplication    Length = 39-39 lines in 2 locations

src/ocrd_models/ocrd_page_generateds.py 2 locations

@@ 7437-7475 (lines=39) @@
7434
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
7435
            self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
7436
        return self
7437
    def _buildAttributes(self, node, attrs, already_processed):
7438
        value = find_attr_value_('id', node)
7439
        if value is not None and 'id' not in already_processed:
7440
            already_processed.add('id')
7441
            self.id = value
7442
        value = find_attr_value_('regionRef', node)
7443
        if value is not None and 'regionRef' not in already_processed:
7444
            already_processed.add('regionRef')
7445
            self.regionRef = value
7446
        value = find_attr_value_('index', node)
7447
        if value is not None and 'index' not in already_processed:
7448
            already_processed.add('index')
7449
            self.index = self.gds_parse_integer(value, node, 'index')
7450
        value = find_attr_value_('caption', node)
7451
        if value is not None and 'caption' not in already_processed:
7452
            already_processed.add('caption')
7453
            self.caption = value
7454
        value = find_attr_value_('type', node)
7455
        if value is not None and 'type' not in already_processed:
7456
            already_processed.add('type')
7457
            self.type_ = value
7458
            self.validate_GroupTypeSimpleType(self.type_)    # validate type GroupTypeSimpleType
7459
        value = find_attr_value_('continuation', node)
7460
        if value is not None and 'continuation' not in already_processed:
7461
            already_processed.add('continuation')
7462
            if value in ('true', '1'):
7463
                self.continuation = True
7464
            elif value in ('false', '0'):
7465
                self.continuation = False
7466
            else:
7467
                raise_parse_error(node, 'Bad boolean attribute')
7468
        value = find_attr_value_('custom', node)
7469
        if value is not None and 'custom' not in already_processed:
7470
            already_processed.add('custom')
7471
            self.custom = value
7472
        value = find_attr_value_('comments', node)
7473
        if value is not None and 'comments' not in already_processed:
7474
            already_processed.add('comments')
7475
            self.comments = value
7476
    def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
7477
        if nodeName_ == 'UserDefined':
7478
            obj_ = UserDefinedType.factory(parent_object_=self)
@@ 6949-6987 (lines=39) @@
6946
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
6947
            self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
6948
        return self
6949
    def _buildAttributes(self, node, attrs, already_processed):
6950
        value = find_attr_value_('id', node)
6951
        if value is not None and 'id' not in already_processed:
6952
            already_processed.add('id')
6953
            self.id = value
6954
        value = find_attr_value_('regionRef', node)
6955
        if value is not None and 'regionRef' not in already_processed:
6956
            already_processed.add('regionRef')
6957
            self.regionRef = value
6958
        value = find_attr_value_('index', node)
6959
        if value is not None and 'index' not in already_processed:
6960
            already_processed.add('index')
6961
            self.index = self.gds_parse_integer(value, node, 'index')
6962
        value = find_attr_value_('caption', node)
6963
        if value is not None and 'caption' not in already_processed:
6964
            already_processed.add('caption')
6965
            self.caption = value
6966
        value = find_attr_value_('type', node)
6967
        if value is not None and 'type' not in already_processed:
6968
            already_processed.add('type')
6969
            self.type_ = value
6970
            self.validate_GroupTypeSimpleType(self.type_)    # validate type GroupTypeSimpleType
6971
        value = find_attr_value_('continuation', node)
6972
        if value is not None and 'continuation' not in already_processed:
6973
            already_processed.add('continuation')
6974
            if value in ('true', '1'):
6975
                self.continuation = True
6976
            elif value in ('false', '0'):
6977
                self.continuation = False
6978
            else:
6979
                raise_parse_error(node, 'Bad boolean attribute')
6980
        value = find_attr_value_('custom', node)
6981
        if value is not None and 'custom' not in already_processed:
6982
            already_processed.add('custom')
6983
            self.custom = value
6984
        value = find_attr_value_('comments', node)
6985
        if value is not None and 'comments' not in already_processed:
6986
            already_processed.add('comments')
6987
            self.comments = value
6988
    def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
6989
        if nodeName_ == 'UserDefined':
6990
            obj_ = UserDefinedType.factory(parent_object_=self)