summaryrefslogtreecommitdiff
path: root/src/leap/common/config/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/common/config/__init__.py')
-rw-r--r--src/leap/common/config/__init__.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/leap/common/config/__init__.py b/src/leap/common/config/__init__.py
index 68d92dc..15c6fea 100644
--- a/src/leap/common/config/__init__.py
+++ b/src/leap/common/config/__init__.py
@@ -18,8 +18,22 @@
Common configs
"""
import os
+import sys
-from dirspec.basedir import get_xdg_config_home
+
+def _get_xdg_config_home():
+ if sys.platform == 'win32':
+ from win32com.shell import shell, shellcon
+ get_path = lambda name: shell.SHGetFolderPath(
+ 0, getattr(shellcon, name), None, 0).encode('utf8')
+ path = get_path('CSIDL_LOCAL_APPDATA')
+ elif sys.platform == 'darwin':
+ user_home = os.path.expanduser('~')
+ path = os.path.join(user_home, 'Library', 'Preferences')
+ else:
+ user_home = os.path.expanduser('~')
+ path = os.path.join(user_home, '.config')
+ return path
def get_path_prefix(standalone=False):
@@ -32,8 +46,6 @@ def get_path_prefix(standalone=False):
configuration storage.
:type standalone: bool
"""
- config_home = get_xdg_config_home()
if standalone:
- config_home = os.path.join(os.getcwd(), "config")
-
- return config_home
+ return os.path.join(os.getcwd(), "config")
+ return _get_xdg_config_home()