mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-31 10:11:14 +00:00
#385 Little refactoring
This commit is contained in:
parent
bbfedb861f
commit
346cb99217
@ -71,16 +71,20 @@ class Settings(dict):
|
||||
for setting in DEFAULT_SETTINGS.items():
|
||||
settings_file.write(u'# {} = {}\n'.format(*setting))
|
||||
|
||||
def _setup_user_dir(self):
|
||||
"""Returns user config dir, create it when it doesn't exist."""
|
||||
|
||||
def _get_user_dir_path(self):
|
||||
# for backward compatibility, use `~/.thefuck` if it exists
|
||||
user_dir = Path(os.path.expanduser('~/.thefuck'))
|
||||
legacy_user_dir = Path(os.path.expanduser('~/.thefuck'))
|
||||
|
||||
if not user_dir.is_dir():
|
||||
if legacy_user_dir.is_dir():
|
||||
return legacy_user_dir
|
||||
else:
|
||||
default_xdg_config_dir = os.path.expanduser("~/.config")
|
||||
xdg_config_dir = os.getenv("XDG_CONFIG_HOME", default_xdg_config_dir)
|
||||
user_dir = Path(os.path.join(xdg_config_dir, 'thefuck'))
|
||||
return Path(os.path.join(xdg_config_dir, 'thefuck'))
|
||||
|
||||
def _setup_user_dir(self):
|
||||
"""Returns user config dir, create it when it doesn't exist."""
|
||||
user_dir = self._get_user_dir_path()
|
||||
|
||||
rules_dir = user_dir.joinpath('rules')
|
||||
if not rules_dir.is_dir():
|
||||
|
@ -180,11 +180,7 @@ def cache(*depends_on):
|
||||
except OSError:
|
||||
return '0'
|
||||
|
||||
@decorator
|
||||
def _cache(fn, *args, **kwargs):
|
||||
if cache.disabled:
|
||||
return fn(*args, **kwargs)
|
||||
|
||||
def _get_cache_path():
|
||||
default_xdg_cache_dir = os.path.expanduser("~/.cache")
|
||||
cache_dir = os.getenv("XDG_CACHE_HOME", default_xdg_cache_dir)
|
||||
cache_path = Path(cache_dir).joinpath('thefuck').as_posix()
|
||||
@ -197,11 +193,19 @@ def cache(*depends_on):
|
||||
if not os.path.isdir(cache_dir):
|
||||
raise
|
||||
|
||||
return cache_path
|
||||
|
||||
@decorator
|
||||
def _cache(fn, *args, **kwargs):
|
||||
if cache.disabled:
|
||||
return fn(*args, **kwargs)
|
||||
|
||||
# A bit obscure, but simplest way to generate unique key for
|
||||
# functions and methods in python 2 and 3:
|
||||
key = '{}.{}'.format(fn.__module__, repr(fn).split('at')[0])
|
||||
|
||||
etag = '.'.join(_get_mtime(name) for name in depends_on)
|
||||
cache_path = _get_cache_path()
|
||||
|
||||
with closing(shelve.open(cache_path)) as db:
|
||||
if db.get(key, {}).get('etag') == etag:
|
||||
|
Loading…
x
Reference in New Issue
Block a user