doc: fix release notes typo
[git-cola.git] / cola / compat.py
blob9d8d3ebff8043ef19085c18b8e9bbee723420075
1 import os
2 from cola import core
3 try:
4 set = set
5 except NameError:
6 from sets import Set as set
7 set = set
9 try:
10 import simplejson as json
11 except ImportError:
12 import json
14 try:
15 import hashlib
16 except ImportError:
17 import md5
18 class hashlib(object):
19 @staticmethod
20 def new(*args):
21 return md5.new()
23 @classmethod
24 def md5(cls, value=''):
25 obj = md5.new()
26 obj.update(value)
27 return obj
30 def setenv(key, value):
31 """Compatibility wrapper for setting environment variables
33 Why? win32 requires putenv(). UNIX only requires os.environ.
35 """
36 os.environ[key] = core.encode(value)
37 os.putenv(key, core.encode(value))
40 def unsetenv(key):
41 """Compatibility wrapper for unsetting environment variables"""
42 try:
43 del os.environment[key]
44 except:
45 pass
46 if hasattr(os, 'unsetenv'):
47 os.unsetenv(key)