diff options
author | Alexandre Conrad <alexandre.conrad@gmail.com> | 2011-12-03 18:40:08 -0800 |
---|---|---|
committer | Alexandre Conrad <alexandre.conrad@gmail.com> | 2011-12-03 18:40:08 -0800 |
commit | fb6b42484b11b5c978af912d014b9306664f4b3f (patch) | |
tree | 60049188ef61f37698a57e56400fad9fd63b83ee | |
parent | 9e8069125c369594040b55f6152fb4fab23b9c9b (diff) | |
download | pastedeploy-git-fb6b42484b11b5c978af912d014b9306664f4b3f.tar.gz |
use frozenset for asbool() lookup
-rw-r--r-- | paste/deploy/converters.py | 8 | ||||
-rw-r--r-- | tests/test_converters.py | 17 |
2 files changed, 23 insertions, 2 deletions
diff --git a/paste/deploy/converters.py b/paste/deploy/converters.py index f37d267..c9d87de 100644 --- a/paste/deploy/converters.py +++ b/paste/deploy/converters.py @@ -3,12 +3,16 @@ from paste.deploy.compat import basestring +truthy = frozenset(['true', 'yes', 'on', 'y', 't', '1']) +falsy = frozenset(['false', 'no', 'off', 'n', 'f', '0']) + + def asbool(obj): if isinstance(obj, basestring): obj = obj.strip().lower() - if obj in ['true', 'yes', 'on', 'y', 't', '1']: + if obj in truthy: return True - elif obj in ['false', 'no', 'off', 'n', 'f', '0']: + elif obj in falsy: return False else: raise ValueError("String is not true/false: %r" % obj) diff --git a/tests/test_converters.py b/tests/test_converters.py new file mode 100644 index 0000000..5361310 --- /dev/null +++ b/tests/test_converters.py @@ -0,0 +1,17 @@ +def test_asbool_truthy(): + from paste.deploy.converters import asbool + assert asbool('true') + assert asbool('yes') + assert asbool('on') + assert asbool('y') + assert asbool('t') + assert asbool('1') + +def test_asbool_falsy(): + from paste.deploy.converters import asbool + assert not asbool('false') + assert not asbool('no') + assert not asbool('off') + assert not asbool('n') + assert not asbool('f') + assert not asbool('0') |