commit 0aa392a1a735b6b84a559aa0295e7b48f9246b2a
parent 2be43369eb260b9a5bbd7e3449aa6cf94335b337
Author: Paco Esteban <paco@e1e0.net>
Date: Mon, 18 Oct 2021 19:01:55 +0200
test if config file exists
Diffstat:
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/subclient/helpers.py b/subclient/helpers.py
@@ -28,6 +28,11 @@ def get_cache_folder():
def get_config_file():
config_home = os.environ.get('XDG_CONFIG_HOME')
if config_home:
- return config_home + '/subclient.ini'
+ config_file = config_home + '/subclient.ini'
else:
- return HOME + '/.config/subclient.ini'
+ config_file = HOME + '/.config/subclient.ini'
+
+ if not os.path.isfile(config_file):
+ raise FileNotFoundError(f'Config file {config_file} does not exist')
+
+ return config_file
diff --git a/subclient/subclient.py b/subclient/subclient.py
@@ -3,6 +3,7 @@
import configparser
import curses
+import sys
from subclient import subsonic
from subclient import player
from subclient import helpers
@@ -23,7 +24,13 @@ class SubClient:
def __init__(self):
self.config = configparser.ConfigParser()
- self.config.read(helpers.get_config_file())
+ try:
+ config_file = helpers.get_config_file()
+ except FileNotFoundError as e:
+ print(e, file=sys.stderr)
+ sys.exit(1)
+ else:
+ self.config.read(config_file)
self.subsonic = subsonic.Subsonic(self.config['subclient'])