summaryrefslogtreecommitdiff
blob: e40bc051295ffeaa936cac453e64a3cab2122e07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
From 391c081199f9cba5026460fbffba43c03602fa13 Mon Sep 17 00:00:00 2001
From: Jan Baier <jbaier@suse.cz>
Date: Mon, 22 Mar 2021 15:04:38 +0100
Subject: [PATCH] Switch from xdg to pyxdg

As both of them provides the xdg and cannot be installed at the same
time, pyxdg should be used as it is older, has more features (xdg is a
subset of pyxdg) and is more used. This change should resolve conflicts
like https://github.com/srstevenson/xdg/issues/35

Fixes #96
---
 CHANGES.rst       |  6 ++++++
 Pipfile           |  2 +-
 goobook/config.py | 16 ++++++++--------
 setup.py          |  4 ++--
 4 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/goobook/config.py b/goobook/config.py
index c948469..05589b1 100644
--- a/goobook/config.py
+++ b/goobook/config.py
@@ -10,7 +10,7 @@ import configparser
 import logging
 
 import oauth2client.client
-import xdg
+from xdg import BaseDirectory
 
 from goobook.storage import Storage
 
@@ -61,8 +61,8 @@ def read_config(config_file=None):
     if config_file:  # config file explicitly given on the commandline
         config_file = os.path.expanduser(config_file)
     else:  # search for goobookrc in XDG dirs and homedir
-        config_files = [dir_ / "goobookrc" for dir_ in [xdg.XDG_CONFIG_HOME] +
-                        xdg.XDG_CONFIG_DIRS] + [LEGACY_CONFIG_FILE]
+        config_files = [dir_ / "goobookrc" for dir_ in [pathlib.Path(BaseDirectory.xdg_config_home)] +
+                        [pathlib.Path(p) for p in BaseDirectory.xdg_config_dirs]] + [LEGACY_CONFIG_FILE]
         log.debug("config file search path: %s", config_files)
         for config_file_ in config_files:
             if config_file_.exists():
@@ -93,7 +93,7 @@ def read_config(config_file=None):
     if config.cache_filename:  # If explicitly specified in config file
         config.cache_filename = realpath(expanduser(config.cache_filename))
     else:  # search for goobook_cache in XDG dirs and homedir
-        cache_files = [xdg.XDG_CACHE_HOME / "goobook_cache", LEGACY_CACHE_FILE]
+        cache_files = [pathlib.Path(BaseDirectory.xdg_cache_home) / "goobook_cache", LEGACY_CACHE_FILE]
         log.debug("cache file search path: %s", cache_files)
         for cache_file in cache_files:
             cache_file = cache_file.resolve()
@@ -101,7 +101,7 @@ def read_config(config_file=None):
                 log.debug("found cache file: %s", cache_file)
                 break
         else:  # If there is none, create in XDG_CACHE_HOME
-            cache_file = xdg.XDG_CACHE_HOME / "goobook_cache"
+            cache_file = pathlib.Path(BaseDirectory.xdg_cache_home) / "goobook_cache"
             log.debug("no cache file found, will use %s", cache_file)
         config.cache_filename = str(cache_file)
 
@@ -110,8 +110,8 @@ def read_config(config_file=None):
         config.oauth_db_filename = realpath(expanduser(config.oauth_db_filename))
         auth_file = pathlib.Path(config.oauth_db_filename)
     else:  # search for goobook_auth.json in XDG dirs and homedir
-        auth_files = [dir_ / "goobook_auth.json" for dir_ in [xdg.XDG_DATA_HOME] +
-                      xdg.XDG_DATA_DIRS] + [LEGACY_AUTH_FILE]
+        auth_files = [dir_ / "goobook_auth.json" for dir_ in [pathlib.Path(BaseDirectory.xdg_data_home)] +
+                      [pathlib.Path(p) for p in BaseDirectory.xdg_data_dirs]] + [LEGACY_AUTH_FILE]
         log.debug("auth file search path: %s", auth_files)
         for auth_file in auth_files:
             auth_file = auth_file.resolve()
@@ -119,7 +119,7 @@ def read_config(config_file=None):
                 log.debug("found auth file: %s", auth_file)
                 break
         else:  # If there is none, create in XDG_DATA_HOME
-            auth_file = xdg.XDG_DATA_HOME / "goobook_auth.json"
+            auth_file = pathlib.Path(BaseDirectory.xdg_data_home) / "goobook_auth.json"
             log.debug("no auth file found, will use %s", auth_file)
         config.oauth_db_filename = str(auth_file)
 
diff --git a/setup.py b/setup.py
index e2bed5c..4a6c764 100755
--- a/setup.py
+++ b/setup.py
@@ -12,7 +12,7 @@ NEWS = open(os.path.join(HERE, 'CHANGES.rst')).read()
 
 setuptools.setup(
     name='goobook',
-    version='3.5.1',
+    version='3.6',
     description='Search your google contacts from the command-line or mutt.',
     long_description=README + '\n\n' + NEWS,
     long_description_content_type="text/x-rst",
@@ -39,7 +39,7 @@ setuptools.setup(
         'google-api-python-client>=1.7.12',
         'simplejson>=3.16.0',
         'oauth2client>=1.5.0,<5.0.0dev',
-        'xdg>=4.0.1'
+        'pyxdg>=0.26'
     ],
     extras_require={
     },
-- 
GitLab