[#60] Added --workdir and --logsdir command-line options.

Also, the application is now using `XDG_CONFIG_HOME` and
`XDG_DATA_HOME` if available to lookup the configuration file and
working directory.

Closes: #60
This commit is contained in:
Fabio Manganiello 2023-07-24 03:20:18 +02:00
parent c1d66abb89
commit 7a20fec52f
Signed by: blacklight
GPG key ID: D90FBA7F76362774

View file

@ -37,10 +37,12 @@ class Config:
# Default config file locations: # Default config file locations:
# - current directory # - current directory
# - $XDG_CONFIG_HOME/platypush/config.yaml
# - $HOME/.config/platypush/config.yaml # - $HOME/.config/platypush/config.yaml
# - /etc/platypush/config.yaml # - /etc/platypush/config.yaml
_cfgfile_locations = [ _cfgfile_locations = [
os.path.join(os.path.abspath('.'), 'config.yaml'), os.path.join(os.path.abspath('.'), 'config.yaml'),
os.path.join(os.environ.get('XDG_CONFIG_HOME', ''), 'config.yaml'),
os.path.join(os.path.expanduser('~'), '.config', 'platypush', 'config.yaml'), os.path.join(os.path.expanduser('~'), '.config', 'platypush', 'config.yaml'),
os.path.join(os.sep, 'etc', 'platypush', 'config.yaml'), os.path.join(os.sep, 'etc', 'platypush', 'config.yaml'),
] ]
@ -54,8 +56,13 @@ class Config:
} }
_workdir_location = os.path.join( _workdir_location = os.path.join(
os.path.expanduser('~'), '.local', 'share', 'platypush' *(
(os.environ['XDG_DATA_HOME'], 'platypush')
if os.environ.get('XDG_DATA_HOME')
else (os.path.expanduser('~'), '.local', 'share', 'platypush')
) )
)
_included_files: Set[str] = set() _included_files: Set[str] = set()
def __init__(self, cfgfile: Optional[str] = None): def __init__(self, cfgfile: Optional[str] = None):