VirtualMailManager/pycompat/__init__.py
author Pascal Volk <neverseen@users.sourceforge.net>
Wed, 28 Jul 2010 03:43:59 +0000
branchv0.6.x
changeset 322 94bd10e237e5
parent 260 b052a2f0f5d4
child 366 d6573da35b5f
permissions -rw-r--r--
VMM/…: More PEP-8 fixes; eliminated __names. VMM/emailaddress: Fixed™ methods __eq__ and __ne__. (I'm not pylint's nanny.)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
219
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     1
# -*- coding: UTF-8 -*-
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     2
# Copyright (c) 2010, Pascal Volk
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     3
# See COPYING for distribution information.
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     4
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     5
"""
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     6
    VirtualMailManager.pycompat
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     7
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     8
    VirtualMailManager's compatibility stuff for Python 2.4
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
     9
"""
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    10
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    11
# http://docs.python.org/library/functions.html#all
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    12
try:
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    13
    all = all
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    14
except NameError:
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    15
    def all(iterable):
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    16
        """Return True if all elements of the *iterable* are true
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    17
        (or if the iterable is empty).
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    18
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    19
        """
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    20
        for element in iterable:
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    21
            if not element:
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    22
                return False
0b6ce895e1dc VMM/pycompat: added to the repository. Provides all() for Py24.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff changeset
    23
        return True
224
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    24
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    25
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    26
# http://docs.python.org/library/functions.html#any
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    27
try:
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    28
    any = any
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    29
except NameError:
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    30
    def any(iterable):
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    31
        """Return True if any element of the *iterable* is true.  If the
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    32
        iterable is empty, return False.
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    33
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    34
        """
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    35
        for element in iterable:
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    36
            if element:
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    37
                return True
7e9874a50d92 VMM/pycompat: added function any() for Python 2.4
Pascal Volk <neverseen@users.sourceforge.net>
parents: 219
diff changeset
    38
        return False