Merge branch 'config_data_dir' into 'master'
Config data dir See merge request poezio/poezio!1
This commit is contained in:
commit
7d20ddbfc4
2 changed files with 28 additions and 8 deletions
|
@ -44,6 +44,7 @@ DEFAULT_CONFIG = {
|
||||||
'create_gaps': False,
|
'create_gaps': False,
|
||||||
'custom_host': '',
|
'custom_host': '',
|
||||||
'custom_port': '',
|
'custom_port': '',
|
||||||
|
'data_dir': '',
|
||||||
'default_nick': '',
|
'default_nick': '',
|
||||||
'deterministic_nick_colors': True,
|
'deterministic_nick_colors': True,
|
||||||
'nick_color_aliases': True,
|
'nick_color_aliases': True,
|
||||||
|
@ -612,20 +613,35 @@ def create_global_config():
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
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')
|
||||||
|
|
||||||
|
DATA_DIR = path.join(data_home, 'poezio')
|
||||||
|
|
||||||
|
DATA_DIR = path.expanduser(DATA_DIR)
|
||||||
|
try:
|
||||||
|
makedirs(DATA_DIR)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def check_create_log_dir():
|
def check_create_log_dir():
|
||||||
"Create the poezio logging directory if it doesn’t exist"
|
"Create the poezio logging directory if it doesn’t exist"
|
||||||
global LOG_DIR
|
global LOG_DIR
|
||||||
LOG_DIR = config.get('log_dir')
|
LOG_DIR = config.get('log_dir')
|
||||||
|
|
||||||
|
if not LOG_DIR and not DATA_DIR:
|
||||||
|
check_create_data_dir()
|
||||||
|
|
||||||
if not LOG_DIR:
|
if not LOG_DIR:
|
||||||
|
LOG_DIR = path.join(DATA_DIR, 'logs')
|
||||||
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')
|
|
||||||
|
|
||||||
LOG_DIR = path.expanduser(LOG_DIR)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
makedirs(LOG_DIR)
|
makedirs(LOG_DIR)
|
||||||
|
@ -705,6 +721,9 @@ options = None
|
||||||
# delayed import from common.py
|
# delayed import from common.py
|
||||||
safeJID = None
|
safeJID = None
|
||||||
|
|
||||||
|
# the global data dir
|
||||||
|
DATA_DIR = ''
|
||||||
|
|
||||||
# the global log dir
|
# the global log dir
|
||||||
LOG_DIR = ''
|
LOG_DIR = ''
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ def main():
|
||||||
config_path = config.check_create_config_dir()
|
config_path = config.check_create_config_dir()
|
||||||
config.run_cmdline_args(config_path)
|
config.run_cmdline_args(config_path)
|
||||||
config.create_global_config()
|
config.create_global_config()
|
||||||
|
config.check_create_data_dir()
|
||||||
config.check_create_log_dir()
|
config.check_create_log_dir()
|
||||||
config.check_create_cache_dir()
|
config.check_create_cache_dir()
|
||||||
config.setup_logging()
|
config.setup_logging()
|
||||||
|
|
Loading…
Reference in a new issue