Code Duplication    Length = 22-22 lines in 3 locations

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

src/ocrd_models/ocrd_page_generateds.py 2 locations

@@ 7980-8001 (lines=22) @@
7977
    def __hash__(self):
7978
        return hash(self.id)
7979
    # pylint: disable=invalid-name,missing-module-docstring,line-too-long
7980
    def get_AllIndexed(self, classes=None, index_sort=True):
7981
        """
7982
        Get all indexed children sorted by their ``@index``.
7983
    
7984
        Arguments:
7985
            classes (list): Type of children (sans ``Indexed``) to return. \
7986
                Default: ``['RegionRef', 'OrderedGroup', 'UnorderedGroup']``
7987
            index_sort (boolean): Whether to sort by ``@index``
7988
    
7989
        Returns:
7990
            a list of :py:class:`RegionRefIndexedType`, \
7991
                :py:class:`OrderedGroupIndexedType`, and \
7992
                :py:class:`UnorderedGroupIndexedType`
7993
        """
7994
        if not classes:
7995
            classes = ['RegionRef', 'OrderedGroup', 'UnorderedGroup']
7996
        ret = []
7997
        for class_ in classes:
7998
            ret += getattr(self, 'get_{}Indexed'.format(class_))()
7999
        if index_sort:
8000
            return sorted(ret, key=lambda x: x.index)
8001
        return ret
8002
    def clear_AllIndexed(self):
8003
        ret = self.get_AllIndexed()
8004
        self.set_RegionRefIndexed([])
@@ 7017-7038 (lines=22) @@
7014
    def __hash__(self):
7015
        return hash(self.id)
7016
    # pylint: disable=invalid-name,missing-module-docstring,line-too-long
7017
    def get_AllIndexed(self, classes=None, index_sort=True):
7018
        """
7019
        Get all indexed children sorted by their ``@index``.
7020
    
7021
        Arguments:
7022
            classes (list): Type of children (sans ``Indexed``) to return. \
7023
                Default: ``['RegionRef', 'OrderedGroup', 'UnorderedGroup']``
7024
            index_sort (boolean): Whether to sort by ``@index``
7025
    
7026
        Returns:
7027
            a list of :py:class:`RegionRefIndexedType`, \
7028
                :py:class:`OrderedGroupIndexedType`, and \
7029
                :py:class:`UnorderedGroupIndexedType`
7030
        """
7031
        if not classes:
7032
            classes = ['RegionRef', 'OrderedGroup', 'UnorderedGroup']
7033
        ret = []
7034
        for class_ in classes:
7035
            ret += getattr(self, 'get_{}Indexed'.format(class_))()
7036
        if index_sort:
7037
            return sorted(ret, key=lambda x: x.index)
7038
        return ret
7039
    def clear_AllIndexed(self):
7040
        ret = self.get_AllIndexed()
7041
        self.set_RegionRefIndexed([])