completions: add bash completion for "git dag"
[git-cola.git] / cola / compat.py
blob55b769c8379c02be1943fcfccf83e5fab320e666
1 import os
2 import sys
5 PY2 = sys.version_info[0] == 2
6 PY3 = sys.version_info[0] >= 3
7 WIN32 = sys.platform == 'win32' or sys.platform == 'cygwin'
9 try:
10 ustr = unicode
11 except NameError:
12 # Python 3
13 ustr = str
15 try:
16 unichr = unichr
17 except NameError:
18 # Python 3
19 unichr = chr
21 try:
22 # Python 3
23 from urllib import parse
24 urllib = parse
25 except ImportError:
26 import urllib
29 def setenv(key, value):
30 """Compatibility wrapper for setting environment variables
32 Why? win32 requires putenv(). UNIX only requires os.environ.
34 """
35 if not PY3 and type(value) is ustr:
36 value = value.encode('utf-8', 'replace')
37 os.environ[key] = value
38 os.putenv(key, value)
41 def unsetenv(key):
42 """Compatibility wrapper for unsetting environment variables"""
43 try:
44 del os.environ[key]
45 except:
46 pass
47 if hasattr(os, 'unsetenv'):
48 os.unsetenv(key)