Improve error reporting for '#' characters in config entries. refs #2128
authorDaira Hopwood <daira@jacaranda.org>
Mon, 5 May 2014 22:14:48 +0000 (23:14 +0100)
committerDaira Hopwood <daira@jacaranda.org>
Mon, 5 May 2014 22:14:48 +0000 (23:14 +0100)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
src/allmydata/node.py

index 47c8ac3bac4dd07af92a054447396f8a0ea8131e..1a6bb94f087d04501340b110aa54b7b37ec57d44 100644 (file)
@@ -58,7 +58,7 @@ class OldConfigOptionError(Exception):
 class UnescapedHashError(Exception):
     def __str__(self):
         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):
@@ -124,7 +124,7 @@ class Node(service.MultiService):
 
             item = self.config.get(section, option)
             if option.endswith(".furl") and self._contains_unescaped_hash(item):
-                raise UnescapedHashError(item)
+                raise UnescapedHashError(section, option, item)
 
             return item
         except (ConfigParser.NoOptionError, ConfigParser.NoSectionError):