From 25cbcc03efc4f85afdc677d47a044fe3678b3ab4 Mon Sep 17 00:00:00 2001 From: Zeev Rotshtein Date: Wed, 5 Feb 2020 18:25:21 +0200 Subject: [PATCH] Add environment variable fall-back for Windows --- appdirs.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/appdirs.py b/appdirs.py index 975e9bf..3b0e355 100644 --- a/appdirs.py +++ b/appdirs.py @@ -563,6 +563,15 @@ def _get_win_folder_with_jna(csidl_name): return dir +def _get_win_folder_from_env(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: import win32com.shell @@ -576,7 +585,14 @@ def _get_win_folder_with_jna(csidl_name): import com.sun.jna _get_win_folder = _get_win_folder_with_jna except ImportError: - _get_win_folder = _get_win_folder_from_registry + try: + if PY3: + import winreg as _winreg + else: + import _winreg + _get_win_folder = _get_win_folder_from_registry + except ImportError: + _get_win_folder = _get_win_folder_from_env #---- self test code