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: 7991 $"
29
30
31 __pychecker__ = 'no-shadowbuiltin'
32
33
34 if sys.version_info[:2] < (2, 4):
35
36 - def sorted(seq, reverse=False):
37 seq = seq[:]
38 seq.sort()
39 if reversed:
40 seq = seq[::-1]
41 return seq
42 else:
43 sorted = sorted
44
45
46 if sys.version_info[:2] < (2, 5):
47
49 for item in seq:
50 if item:
51 return True
52 return False
53 else:
54 any = any
55
56
57 if sys.version_info[:2] < (2, 5):
58
60 for item in seq:
61 if not item:
62 return False
63 return True
64 else:
65 all = all
66
67
68
69
70 if sys.version_info[:2] < (2, 5):
71 import os.path as path
72 from os import mkdir, curdir
73 from errno import EEXIST
74
76 head, tail = path.split(name)
77 if not tail:
78 head, tail = path.split(head)
79 if head and tail and not path.exists(head):
80 try:
81 makedirs(head, mode)
82 except OSError, e:
83
84 if e.errno != EEXIST:
85 raise
86 if tail == curdir:
87 return
88 mkdir(name, mode)
89 else:
90 from os import makedirs
91
92
93 try:
94 _hashlib = __import__("hashlib")
95 except ImportError:
96 from md5 import md5
97 from sha import sha as sha1
98 else:
99 from hashlib import md5 as md5
100 from hashlib import sha1 as sha1
101
102
103 try:
104 set = set
105 except NameError:
106 from sets import Set as set
107