##// END OF EJS Templates
util: initialize md5 and sha1 without using extra global variables...
Martin Geisler -
r8281:3e1e499d default
parent child Browse files
Show More
@@ -20,28 +20,26 b' import imp'
20
20
21 # Python compatibility
21 # Python compatibility
22
22
23 _md5 = None
24 def md5(s):
23 def md5(s):
25 global _md5
24 try:
26 if _md5 is None:
25 import hashlib
27 try:
26 _md5 = hashlib.md5
28 import hashlib
27 except ImportError:
29 _md5 = hashlib.md5
28 import md5
30 except ImportError:
29 _md5 = md5.md5
31 import md5
30 global md5
32 _md5 = md5.md5
31 md5 = _md5
33 return _md5(s)
32 return _md5(s)
34
33
35 _sha1 = None
36 def sha1(s):
34 def sha1(s):
37 global _sha1
35 try:
38 if _sha1 is None:
36 import hashlib
39 try:
37 _sha1 = hashlib.sha1
40 import hashlib
38 except ImportError:
41 _sha1 = hashlib.sha1
39 import sha
42 except ImportError:
40 _sha1 = sha.sha
43 import sha
41 global sha1
44 _sha1 = sha.sha
42 sha1 = _sha1
45 return _sha1(s)
43 return _sha1(s)
46
44
47 import subprocess
45 import subprocess
General Comments 0
You need to be logged in to leave comments. Login now