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

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