1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 """
19 forward compatibility with future python versions
20 """
21
22 import sys
23
24 __version__ = "$Rev$"
25
26
27 __pychecker__ = 'no-shadowbuiltin'
28
29
30 if sys.version_info[:2] < (2, 5):
31
33 for item in seq:
34 if item:
35 return True
36 return False
37 else:
38 any = any
39
40
41 if sys.version_info[:2] < (2, 5):
42
44 for item in seq:
45 if not item:
46 return False
47 return True
48 else:
49 all = all
50
51
52
53
54 if sys.version_info[:2] < (2, 5):
55 import os.path as path
56 from os import mkdir, curdir
57 from errno import EEXIST
58
60 head, tail = path.split(name)
61 if not tail:
62 head, tail = path.split(head)
63 if head and tail and not path.exists(head):
64 try:
65 makedirs(head, mode)
66 except OSError, e:
67
68 if e.errno != EEXIST:
69 raise
70 if tail == curdir:
71 return
72 mkdir(name, mode)
73 else:
74 from os import makedirs
75
76
77 try:
78 _hashlib = __import__("hashlib")
79 except ImportError:
80 from md5 import md5
81 from sha import sha as sha1
82 else:
83 from hashlib import md5 as md5
84 from hashlib import sha1 as sha1
85
86
87 try:
88 set = set
89 except NameError:
90 from sets import Set as set
91
92
93 if sys.version_info[:2] < (2, 6):
94
96 for it in iterables:
97 for element in it:
98 yield element
99 else:
100 from itertools import chain
101 from_iterable = chain.from_iterable
102