From 391c081199f9cba5026460fbffba43c03602fa13 Mon Sep 17 00:00:00 2001 From: Jan Baier 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