summaryrefslogtreecommitdiff
path: root/src/pyssg/configuration.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/pyssg/configuration.py')
-rw-r--r--src/pyssg/configuration.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/pyssg/configuration.py b/src/pyssg/configuration.py
index dd6bfaa..a721dba 100644
--- a/src/pyssg/configuration.py
+++ b/src/pyssg/configuration.py
@@ -3,6 +3,10 @@ from importlib.metadata import version
from importlib.resources import path as rpath
from datetime import datetime, timezone
from configparser import ConfigParser
+import logging
+from logging import Logger
+
+log: Logger = logging.getLogger(__name__)
DEFAULT_CONFIG_PATH = '$XDG_CONFIG_HOME/pyssg/config.ini'
@@ -12,25 +16,31 @@ VERSION = version('pyssg')
def __check_well_formed_config(config: ConfigParser) -> None:
default_config: ConfigParser = ConfigParser()
with rpath('pyssg.plt', 'default.ini') as p:
+ log.debug('reading config file "%s"', p)
default_config.read(p)
for section in default_config.sections():
+ log.debug('checking section "%s"', section)
if not config.has_section(section):
- print(f'config does not have section "{section}"')
+ log.error('config does not have section "%s"', section)
sys.exit(1)
for option in default_config.options(section):
+ log.debug('checking option "%s"', option)
if not config.has_option(section, option):
- print(f'config does not have option "{option}" in section "{section}"')
+ log.error('config does not have option "%s" in section "%s"', option, section)
sys.exit(1)
def get_parsed_config(path: str) -> ConfigParser:
config: ConfigParser = ConfigParser()
+ log.debug('reading config file "%s"', path)
config.read(path)
+ log.debug('checking that config file is well formed')
__check_well_formed_config(config)
# set other required options
+ log.debug('setting extra config options')
config.set('fmt', 'rss_date', '%%a, %%d %%b %%Y %%H:%%M:%%S GMT')
config.set('fmt', 'sitemap_date', '%%Y-%%m-%%d')
config.set('info', 'version', VERSION)