Did I find the right examples for you? yes no

All Samples(4)  |  Call(0)  |  Derive(0)  |  Import(4)
Backport to work with Python 2.6

Class decorator that fills in missing ordering methods

Code from: http://code.activestate.com/recipes/576685/

        def total_ordering(cls):
    """
    Backport to work with Python 2.6

    Class decorator that fills in missing ordering methods

    Code from: http://code.activestate.com/recipes/576685/
    """
    # https://github.com/kvesteri/total-ordering/blob/master/total_ordering.py
    convert = {
        '__lt__': [
            (
                '__gt__',
                lambda self, other: not (self < other or self == other)
            ),
            (
                '__le__',
                lambda self, other: self < other or self == other
            ),
            (
                '__ge__',
                lambda self, other: not self < other
            )],
        '__le__': [
            (
                '__ge__',
                lambda self, other: not self <= other or self == other
            ),
            (
                '__lt__',
                lambda self, other: self <= other and not self == other
            ),
            (
                '__gt__',
                lambda self, other: not self <= other
            )],
        '__gt__': [
            (
                '__lt__',
                lambda self, other: not (self > other or self == other)
            ),
            (
                '__ge__',
                lambda self, other: self > other or self == other
            ),
            (
                '__le__',
                lambda self, other: not self > other
            )],
        '__ge__': [
            (
                '__le__',
                lambda self, other: (not self >= other) or self == other
            ),
            (
                '__gt__',
                lambda self, other: self >= other and not self == other
            ),
            (
                '__lt__',
                lambda self, other: not self >= other
            )]
    }
    roots = set(dir(cls)) & set(convert)
    if not roots:
        raise ValueError(
            'must define at least one ordering operation: < > <= >='
        )
    root = max(roots)  # prefer __lt__ to __le__ to __gt__ to __ge__
    for opname, opfunc in convert[root]:
        if opname not in roots:
            opfunc.__name__ = opname
            opfunc.__doc__ = getattr(int, opname).__doc__
            setattr(cls, opname, opfunc)
    return cls
        


src/w/p/wpull-0.33.2/py2src_noedit/wpull/cache.py   wpull(Download)
        from functools import total_ordering
    except ImportError:
        from wpull.backport.functools import total_ordering
else:
    total_ordering = lambda obj: obj

src/w/p/wpull-HEAD/py2src_noedit/wpull/cache.py   wpull(Download)
        from functools import total_ordering
    except ImportError:
        from wpull.backport.functools import total_ordering
else:
    total_ordering = lambda obj: obj

src/w/p/wpull-0.33.2/wpull/cache.py   wpull(Download)
        from functools import total_ordering
    except ImportError:
        from wpull.backport.functools import total_ordering
else:
    total_ordering = lambda obj: obj

src/w/p/wpull-HEAD/wpull/cache.py   wpull(Download)
        from functools import total_ordering
    except ImportError:
        from wpull.backport.functools import total_ordering
else:
    total_ordering = lambda obj: obj