From a1c3656788e623d6bd797d07fc918fcb1435f7a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Mon, 14 May 2018 16:40:08 +0200 Subject: config: Add DATA_DIR global constant --- poezio/config.py | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'poezio/config.py') diff --git a/poezio/config.py b/poezio/config.py index 22662c13..e90cac8b 100644 --- a/poezio/config.py +++ b/poezio/config.py @@ -44,6 +44,7 @@ DEFAULT_CONFIG = { 'create_gaps': False, 'custom_host': '', 'custom_port': '', + 'data_dir': '', 'default_nick': '', 'deterministic_nick_colors': True, 'nick_color_aliases': True, @@ -612,20 +613,35 @@ def create_global_config(): sys.exit(1) -def check_create_log_dir(): - "Create the poezio logging directory if it doesn’t exist" - global LOG_DIR - LOG_DIR = config.get('log_dir') - - if not LOG_DIR: +def check_create_data_dir(): + """Create the poezio data directory if it doesn't exist""" + global DATA_DIR + DATA_DIR = config.get('data_dir') + if not DATA_DIR: data_home = environ.get('XDG_DATA_HOME') if data_home is None or not Path(data_home).is_absolute(): data_home = path.join(environ.get('HOME'), '.local', 'share') - LOG_DIR = path.join(data_home, 'poezio', 'logs') + DATA_DIR = path.join(data_home, 'poezio') + + DATA_DIR = path.expanduser(DATA_DIR) + try: + makedirs(DATA_DIR) + except: + pass - LOG_DIR = path.expanduser(LOG_DIR) + +def check_create_log_dir(): + "Create the poezio logging directory if it doesn’t exist" + global LOG_DIR + LOG_DIR = config.get('log_dir') + + if not LOG_DIR and not DATA_DIR: + check_create_data_dir() + + if not LOG_DIR: + LOG_DIR = path.join(DATA_DIR, 'logs') try: makedirs(LOG_DIR) @@ -705,6 +721,9 @@ options = None # delayed import from common.py safeJID = None +# the global data dir +DATA_DIR = '' + # the global log dir LOG_DIR = '' -- cgit v1.2.3