diff options
author | Iryna Cherniavska <i.chernyavska@gmail.com> | 2014-12-30 14:38:57 -0800 |
---|---|---|
committer | Iryna Cherniavska <i.chernyavska@gmail.com> | 2014-12-30 15:36:11 -0800 |
commit | f2ecb2ed6752fa6acd476c47f1e17eb4f0c2f051 (patch) | |
tree | 1ee5e19c5c558e52658c3b51312a53f9979707a7 | |
parent | 0d91b49c5b1da063bc502aebc8108b5108f5be7b (diff) |
Fix for bug #12: Config reading is failing when an option is missing.
-rw-r--r-- | pgcli/config.py | 10 | ||||
-rwxr-xr-x | pgcli/main.py | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/pgcli/config.py b/pgcli/config.py index e54a165b..4ce9d824 100644 --- a/pgcli/config.py +++ b/pgcli/config.py @@ -6,12 +6,20 @@ except ImportError: from configparser import ConfigParser # from prompt_toolkit.contrib.pdb import set_trace -def load_config(filename): + +def load_config(filename, default_filename=None): filename = expanduser(filename) parser = ConfigParser() + + # parser.read will not fail in case of IOError, + # so let's not try/except here. + if default_filename: + parser.read(default_filename) + parser.read(filename) return parser + def write_default_config(source, destination, overwrite=False): #import pdb; pdb.set_trace() #set_trace() diff --git a/pgcli/main.py b/pgcli/main.py index eed43e38..b45edc26 100755 --- a/pgcli/main.py +++ b/pgcli/main.py @@ -50,7 +50,7 @@ def cli(database, user, password, host, port): write_default_config(default_config, '~/.pgclirc') # Load config. - config = load_config('~/.pgclirc') + config = load_config('~/.pgclirc', default_config) smart_completion = config.getboolean('main', 'smart_completion') multi_line = config.getboolean('main', 'multi_line') |