VirtualMailManager/pycompat/__init__.py
author martin f. krafft <madduck@madduck.net>
Sun, 15 Apr 2012 17:51:00 +0200
branchv0.6.x
changeset 550 867d950ce7b7
parent 366 d6573da35b5f
child 568 14abdd04ddf5
permissions -rw-r--r--
Fix transport_maps function for non-existent domains The postfix_transport_maps function had a bug causing 2012-04-15 17:40:22 CEST LOG: statement: SELECT transport FROM postfix_transport_map('logcheck', 'domine.madduck.net'); 2012-04-15 17:40:22 CEST ERROR: query returned no rows when the domain was not in the database. This would make did be NULL and make the query fail. This patch moves the tid query until after a check for did. If the latter is NULL, the function RETURNs (rather than fails).
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