config: Unknown loglevels should serialize to blank string

This commit is contained in:
Thomas Adamcik 2013-04-16 00:13:57 +02:00
parent 5a495c590c
commit 211379a01c
2 changed files with 11 additions and 8 deletions

View File

@ -184,19 +184,22 @@ class LogLevel(ConfigValue):
with any casing.
"""
levels = {
'critical': logging.CRITICAL,
'error': logging.ERROR,
'warning': logging.WARNING,
'info': logging.INFO,
'debug': logging.DEBUG,
b'critical': logging.CRITICAL,
b'error': logging.ERROR,
b'warning': logging.WARNING,
b'info': logging.INFO,
b'debug': logging.DEBUG,
}
def deserialize(self, value):
validators.validate_choice(value.lower(), self.levels.keys())
return self.levels.get(value.lower())
def serialize(self, value):
return dict((v, k) for k, v in self.levels.items()).get(value)
def serialize(self, value, display=False):
lookup = dict((v, k) for k, v in self.levels.items())
if value in lookup:
return lookup[value]
return b''
class Hostname(ConfigValue):

View File

@ -261,7 +261,7 @@ class LogLevelTest(unittest.TestCase):
value = types.LogLevel()
for name, level in self.levels.items():
self.assertEqual(name, value.serialize(level))
self.assertIsNone(value.serialize(1337))
self.assertEqual(b'', value.serialize(1337))
class HostnameTest(unittest.TestCase):