diff options
Diffstat (limited to 'poezio/config.py')
-rw-r--r-- | poezio/config.py | 35 |
1 files changed, 27 insertions, 8 deletions
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 = '' |