summaryrefslogtreecommitdiff
path: root/appdirs.py
diff options
context:
space:
mode:
Diffstat (limited to 'appdirs.py')
-rw-r--r--appdirs.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/appdirs.py b/appdirs.py
index fcc26ad..20103ba 100644
--- a/appdirs.py
+++ b/appdirs.py
@@ -535,6 +535,15 @@ def _get_win_folder_with_jna(csidl_name):
return dir
+def _get_win_folder_from_environ(csidl_name):
+ env_var_name = {
+ "CSIDL_APPDATA": "APPDATA",
+ "CSIDL_COMMON_APPDATA": "ALLUSERSPROFILE",
+ "CSIDL_LOCAL_APPDATA": "LOCALAPPDATA",
+ }[csidl_name]
+
+ return os.environ[env_var_name]
+
if system == "win32":
try:
from ctypes import windll
@@ -542,7 +551,15 @@ if system == "win32":
try:
import com.sun.jna
except ImportError:
- _get_win_folder = _get_win_folder_from_registry
+ try:
+ if PY3:
+ import winreg as _winreg
+ else:
+ import _winreg
+ except ImportError:
+ _get_win_folder = _get_win_folder_from_environ
+ else:
+ _get_win_folder = _get_win_folder_from_registry
else:
_get_win_folder = _get_win_folder_with_jna
else: