Code Duplication    Length = 22-22 lines in 3 locations

src/ocrd_models/ocrd_page_generateds.py 2 locations

@@ 7166-7187 (lines=22) @@
7163
    def __hash__(self):
7164
        return hash(self.id)
7165
    # pylint: disable=invalid-name,missing-module-docstring,line-too-long
7166
    def get_AllIndexed(self, classes=None, index_sort=True):
7167
        """
7168
        Get all indexed children sorted by their ``@index``.
7169
    
7170
        Arguments:
7171
            classes (list): Type of children (sans ``Indexed``) to return. \
7172
                Default: ``['RegionRef', 'OrderedGroup', 'UnorderedGroup']``
7173
            index_sort (boolean): Whether to sort by ``@index``
7174
    
7175
        Returns:
7176
            a list of :py:class:`RegionRefIndexedType`, \
7177
                :py:class:`OrderedGroupIndexedType`, and \
7178
                :py:class:`UnorderedGroupIndexedType`
7179
        """
7180
        if not classes:
7181
            classes = ['RegionRef', 'OrderedGroup', 'UnorderedGroup']
7182
        ret = []
7183
        for class_ in classes:
7184
            ret += getattr(self, 'get_{}Indexed'.format(class_))()
7185
        if index_sort:
7186
            return sorted(ret, key=lambda x: x.index)
7187
        return ret
7188
    def clear_AllIndexed(self):
7189
        ret = self.get_AllIndexed()
7190
        self.set_RegionRefIndexed([])
@@ 6234-6255 (lines=22) @@
6231
    def __hash__(self):
6232
        return hash(self.id)
6233
    # pylint: disable=invalid-name,missing-module-docstring,line-too-long
6234
    def get_AllIndexed(self, classes=None, index_sort=True):
6235
        """
6236
        Get all indexed children sorted by their ``@index``.
6237
    
6238
        Arguments:
6239
            classes (list): Type of children (sans ``Indexed``) to return. \
6240
                Default: ``['RegionRef', 'OrderedGroup', 'UnorderedGroup']``
6241
            index_sort (boolean): Whether to sort by ``@index``
6242
    
6243
        Returns:
6244
            a list of :py:class:`RegionRefIndexedType`, \
6245
                :py:class:`OrderedGroupIndexedType`, and \
6246
                :py:class:`UnorderedGroupIndexedType`
6247
        """
6248
        if not classes:
6249
            classes = ['RegionRef', 'OrderedGroup', 'UnorderedGroup']
6250
        ret = []
6251
        for class_ in classes:
6252
            ret += getattr(self, 'get_{}Indexed'.format(class_))()
6253
        if index_sort:
6254
            return sorted(ret, key=lambda x: x.index)
6255
        return ret
6256
    def clear_AllIndexed(self):
6257
        ret = self.get_AllIndexed()
6258
        self.set_RegionRefIndexed([])

src/ocrd_page_user_methods/get_AllIndexed.py 1 location

@@ 2-23 (lines=22) @@
1
# pylint: disable=invalid-name,missing-module-docstring,line-too-long
2
def get_AllIndexed(self, classes=None, index_sort=True):
3
    """
4
    Get all indexed children sorted by their ``@index``.
5
6
    Arguments:
7
        classes (list): Type of children (sans ``Indexed``) to return. \
8
            Default: ``['RegionRef', 'OrderedGroup', 'UnorderedGroup']``
9
        index_sort (boolean): Whether to sort by ``@index``
10
11
    Returns:
12
        a list of :py:class:`RegionRefIndexedType`, \
13
            :py:class:`OrderedGroupIndexedType`, and \
14
            :py:class:`UnorderedGroupIndexedType`
15
    """
16
    if not classes:
17
        classes = ['RegionRef', 'OrderedGroup', 'UnorderedGroup']
18
    ret = []
19
    for class_ in classes:
20
        ret += getattr(self, 'get_{}Indexed'.format(class_))()
21
    if index_sort:
22
        return sorted(ret, key=lambda x: x.index)
23
    return ret
24