Improve error reporting for '#' characters in config entries. refs #2128

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2014-05-05 23:14:48 +01:00
parent 87df9d218d
commit efc223ad1f

View File

@ -58,7 +58,7 @@ class OldConfigOptionError(Exception):
class UnescapedHashError(Exception): class UnescapedHashError(Exception):
def __str__(self): def __str__(self):
return ("The configuration entry %s contained an unescaped '#' character." return ("The configuration entry %s contained an unescaped '#' character."
% quote_output(self.args[0])) % quote_output("[%s]%s = %s" % self.args))
class Node(service.MultiService): class Node(service.MultiService):
@ -124,7 +124,7 @@ class Node(service.MultiService):
item = self.config.get(section, option) item = self.config.get(section, option)
if option.endswith(".furl") and self._contains_unescaped_hash(item): if option.endswith(".furl") and self._contains_unescaped_hash(item):
raise UnescapedHashError(item) raise UnescapedHashError(section, option, item)
return item return item
except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): except (ConfigParser.NoOptionError, ConfigParser.NoSectionError):