VirtualMailManager/pycompat/__init__.py
author martin f. krafft <madduck@madduck.net>
Mon, 09 Apr 2012 18:10:56 +0200
branchv0.6.x
changeset 504 f180ead60568
parent 366 d6573da35b5f
child 568 14abdd04ddf5
permissions -rw-r--r--
First version of a CatchallAlias class I based the CatchallAlias class in catchall.py heavily on the Alias class, but by copy, not deriving. The two are functionally related, but the implementations are too different because CatchallAliases have no localpart.
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 -*-
366
d6573da35b5f Updated copyright notices to include the year 2011.
Pascal Volk <neverseen@users.sourceforge.net>
parents: 260
diff changeset
     2
# Copyright (c) 2010 - 2011, Pascal Volk
219
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