From 0dde976dec4c466db0167109b5923505c29da6a6 Mon Sep 17 00:00:00 2001 From: Peter Surda Date: Tue, 6 Dec 2016 13:04:52 +0100 Subject: [PATCH] Fix timeformat in configparser - allow both raw (new) and non-raw (old) style timeformat for backwards compatibility --- src/configparser.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/configparser.py b/src/configparser.py index 64b30b25..900bef50 100644 --- a/src/configparser.py +++ b/src/configparser.py @@ -1,15 +1,20 @@ -from ConfigParser import SafeConfigParser, ConfigParser +import ConfigParser -class BMConfigParser(SafeConfigParser): +class BMConfigParser(ConfigParser.SafeConfigParser): def set(self, section, option, value=None): if self._optcre is self.OPTCRE or value: if not isinstance(value, basestring): raise TypeError("option values must be strings") - return ConfigParser.set(self, section, option, value) + return ConfigParser.ConfigParser.set(self, section, option, value) def get(self, section, option, raw=False, vars=None): - return ConfigParser.get(self, section, option, True, vars) + if section == "bitmessagesettings" and option == "timeformat": + try: + return ConfigParser.ConfigParser.get(self, section, option, raw, vars) + except ConfigParser.InterpolationError: + return ConfigParser.ConfigParser.get(self, section, option, True, vars) + return ConfigParser.ConfigParser.get(self, section, option, True, vars) def items(self, section, raw=False, vars=None): - return ConfigParser.items(self, section, True, vars) + return ConfigParser.ConfigParser.items(self, section, True, vars)