From aa47d9805b43735189a10680082ee07a4367c178 Mon Sep 17 00:00:00 2001 From: Yves G Date: Wed, 31 Jan 2018 12:59:32 +0100 Subject: [PATCH] fix bugs in config.py --- pyruse/config.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pyruse/config.py b/pyruse/config.py index 80b0f86..6a4af75 100644 --- a/pyruse/config.py +++ b/pyruse/config.py @@ -1,5 +1,5 @@ # pyruse is intended as a replacement to both fail2ban and epylog -# Copyright © 2017 Y. Gablin +# Copyright © 2017–2018 Y. Gablin # Full licensing information in the LICENSE file, or gnu.org/licences/gpl-3.0.txt if the file is missing. import json import os @@ -7,27 +7,28 @@ from collections import OrderedDict from pyruse import log class Config: - CONF_NAME = "pyruse.conf" + CONF_NAME = "pyruse.json" _paths = None - # __main__ must be the first to create a Config object, then paths is remembered + # __main__ must be the first to create a Config object, then paths are remembered def __init__(self, paths = None): if paths is None: paths = Config._paths Config._paths = paths - conf = None for p in paths: + confpath = os.path.join(p, Config.CONF_NAME) try: - with open(os.path.join(p, "pyruse.json")) as conffile: + with open(confpath) as conffile: conf = json.load(conffile, object_pairs_hook = OrderedDict) + self.conf = conf + break except IOError: - log.debug("IOError while opening %s\n" % conffile) + log.debug("IOError while opening %s\n" % confpath) except json.JSONDecodeError: - log.debug("JSONDecodeError while opening %s\n" % conffile) - if conf is None: + log.debug("JSONDecodeError while opening %s\n" % confpath) + else: raise FileNotFoundError("File `%s` not found in either of %s." \ - % (Config.CONF_NAME, paths)) - self.conf = conf + % (Config.CONF_NAME, str(paths))) def asMap(self): return self.conf