diff --git a/nhentai/constant.py b/nhentai/constant.py index 3d677ad..9307887 100644 --- a/nhentai/constant.py +++ b/nhentai/constant.py @@ -3,7 +3,22 @@ import os import tempfile from urllib.parse import urlparse +from platform import system +def get_nhentai_home() -> str: + home = os.getenv('HOME', tempfile.gettempdir()) + + if system() == 'Linux': + xdgdat = os.getenv('XDG_DATA_HOME') + if xdgdat and os.path.exists(os.path.join(xdgdat, 'nhentai')): + return os.path.join(xdgdat, 'nhentai') + if home and os.path.exists(os.path.join(home, '.nhentai')): + return os.path.join(home, '.nhentai') + if xdgdat: + return os.path.join(xdgdat, 'nhentai') + + # Use old default path in other systems + return os.path.join(home, '.nhentai') DEBUG = os.getenv('DEBUG', False) BASE_URL = os.getenv('NHENTAI', 'https://nhentai.net') @@ -21,7 +36,7 @@ FAV_URL = f'{BASE_URL}/favorites/' IMAGE_URL = f'{urlparse(BASE_URL).scheme}://i.{urlparse(BASE_URL).hostname}/galleries' -NHENTAI_HOME = os.path.join(os.getenv('HOME', tempfile.gettempdir()), '.nhentai') +NHENTAI_HOME = get_nhentai_home() NHENTAI_HISTORY = os.path.join(NHENTAI_HOME, 'history.sqlite3') NHENTAI_CONFIG_FILE = os.path.join(NHENTAI_HOME, 'config.json')