From 594264b16ae7b7883a9a531a2f7cf89d837bf26e Mon Sep 17 00:00:00 2001
From: ulif <uli@gnufix.de>
Date: Thu, 12 Nov 2015 12:04:21 +0100
Subject: [PATCH] Make conf value interpolation more logical.

---
 diceware/config.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/diceware/config.py b/diceware/config.py
index 2e85034..f8460e7 100644
--- a/diceware/config.py
+++ b/diceware/config.py
@@ -78,13 +78,14 @@ def get_config_dict(path_list=None):
         return result
     conf = dict(parser.items('diceware'))
     for key, val in OPTIONS_DEFAULTS.items():
-        new_val = conf.get(key, val)
+        if key not in conf:
+            continue
         if isinstance(val, bool):
-            if not isinstance(new_val, bool):
-                new_val = parser.getboolean("diceware", key)
+            result[key] = parser.getboolean("diceware", key)
         elif isinstance(val, int):
-            new_val = int(new_val)
-        result[key] = new_val
+            result[key] = int(conf.get(key))
+        else:
+            result[key] = conf.get(key, val)
     return result
 
 
-- 
GitLab