Subversion Repositories programming

Rev

Blame | Last modification | View Log | RSS feed

#!/usr/bin/env python

__author__    = "Ira W. Snyder (devel@irasnyder.com)"
__copyright__ = "Copyright (c) 2006 Ira W. Snyder (devel@irasnyder.com)"
__license__   = "GNU GPL v2 (or, at your option, any later version)"

import sys

def ver_lt (ver_s):
        """Is current version less than $ver?"""
        cur = sys.version_info
        ver = [int(e) for e in ver_s.split ('.')]

        for i in xrange(len(ver)):
                if cur[i] < ver[i]:
                        return 1 # true

        return 0 # false

# True / False emulation
if ver_lt ('2.2'):
        (True, False) = (1, 0)

# reversed() list iterator emulator
# NOTE: wastes memory like CRAZY
if ver_lt ('2.2'):
        def reversed (li):
                copy = li[:]
                copy.reverse ()
                return copy

# object base class support
if ver_lt ('2.4'):
        class object:
                pass

# set emulation
# NOTE: this is nowhere near as powerful as the /REAL/
# set implementation, but it works for my purposes
if ver_lt ('2.3'):
        class set(object):
                def __init__ (self, li):
                        self.li = li

                def add (self, e):
                        if e not in self.li:
                                self.li.append (e)

                def remove (self, e):
                        return self.li.remove(e)

                def __getitem__ (self, i):
                        return self.li[i]

                def __iter__ (self):
                        return self.li.__iter__()