summaryrefslogtreecommitdiff
path: root/fail2ban/helpers.py
diff options
context:
space:
mode:
authorsebres <serg.brester@sebres.de>2017-03-13 21:56:06 +0100
committersebres <serg.brester@sebres.de>2017-03-13 21:56:06 +0100
commitccfd1ccb2d80087841c6e9242bf913f0ff7ee41c (patch)
tree6d1ec52cc11ff35acc33a97f69c584fcaa342eca /fail2ban/helpers.py
parent5030e3a1228265638460fcf7ffe2385dacfd5d30 (diff)
downloadfail2ban-ccfd1ccb2d80087841c6e9242bf913f0ff7ee41c.tar.gz
code review, increase coverage, etc.
Diffstat (limited to 'fail2ban/helpers.py')
-rw-r--r--fail2ban/helpers.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/fail2ban/helpers.py b/fail2ban/helpers.py
index de26dbcd..556ca173 100644
--- a/fail2ban/helpers.py
+++ b/fail2ban/helpers.py
@@ -169,6 +169,36 @@ def splitwords(s):
return []
return filter(bool, map(str.strip, re.split('[ ,\n]+', s)))
+if sys.version_info >= (3,5):
+ eval(compile(r'''if 1:
+ def _merge_dicts(x, y):
+ """Helper to merge dicts.
+ """
+ if y:
+ return {**x, **y}
+ return x
+
+ def _merge_copy_dicts(x, y):
+ """Helper to merge dicts to guarantee a copy result (r is never x).
+ """
+ return {**x, **y}
+ ''', __file__, 'exec'))
+else:
+ def _merge_dicts(x, y):
+ """Helper to merge dicts.
+ """
+ r = x
+ if y:
+ r = x.copy()
+ r.update(y)
+ return r
+ def _merge_copy_dicts(x, y):
+ """Helper to merge dicts to guarantee a copy result (r is never x).
+ """
+ r = x.copy()
+ if y:
+ r.update(y)
+ return r
#
# Following "uni_decode" function unified python independent any to string converting