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