From e0eb4f2358049b4427282aaa2a8ddf65972ed05b Mon Sep 17 00:00:00 2001 From: sebres Date: Fri, 10 Oct 2014 02:47:42 +0200 Subject: [PATCH] code review: use the same code (corresponding test cases - with sharing on and without it); --- fail2ban/client/configparserinc.py | 57 +++++++++++++++--------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/fail2ban/client/configparserinc.py b/fail2ban/client/configparserinc.py index d6ad4e34..196c2ae6 100644 --- a/fail2ban/client/configparserinc.py +++ b/fail2ban/client/configparserinc.py @@ -204,39 +204,40 @@ after = 1.conf else: fileNamesFull = filenames + if not fileNamesFull: + return [] + if self._cfg_share is not None: logSys.debug(" Sharing files: %s", fileNamesFull) - - if len(fileNamesFull) > 1: - # read multiple configs: - ret = [] - alld = self.get_defaults() - alls = self.get_sections() - for filename in fileNamesFull: - # read single one, add to return list, use sharing if possible: - cfg, i = self._getSharedSCPWI(filename) - if i: - ret += i - # merge defaults and all sections to self: - alld.update(cfg.get_defaults()) - for n, s in cfg.get_sections().iteritems(): - if isinstance(s, dict): - s2 = alls.get(n) - if isinstance(s2, dict): - s2.update(s) - else: - alls[n] = s.copy() - else: - alls[n] = s - - return ret - - # read one config : - logSys.debug(" Reading file: %s", fileNamesFull[0]) else: - # don't have sharing - read one or multiple at once: logSys.debug(" Reading files: %s", fileNamesFull) + if len(fileNamesFull) > 1: + # read multiple configs: + ret = [] + alld = self.get_defaults() + alls = self.get_sections() + for filename in fileNamesFull: + # read single one, add to return list, use sharing if possible: + cfg, i = self._getSharedSCPWI(filename) + if i: + ret += i + # merge defaults and all sections to self: + alld.update(cfg.get_defaults()) + for n, s in cfg.get_sections().iteritems(): + if isinstance(s, dict): + s2 = alls.get(n) + if isinstance(s2, dict): + s2.update(s) + else: + alls[n] = s.copy() + else: + alls[n] = s + + return ret + + # read one config : + logSys.debug(" Reading file: %s", fileNamesFull[0]) # read file(s) : if sys.version_info >= (3,2): # pragma: no cover return SafeConfigParser.read(self, fileNamesFull, encoding='utf-8')