summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Bicking <ianb@colorstudy.com>2012-03-15 15:42:02 -0500
committerIan Bicking <ianb@colorstudy.com>2012-03-15 15:42:02 -0500
commitee815906992d46b29048174cee5253c1a0159806 (patch)
tree395b92234a423c8c195cff4f213a2d42edc5e7c8
parent121a8c5e3d90798ad02dead39660718f9ee79da5 (diff)
parent0b0e70213371d8042a2d52f5523429e7e99935d6 (diff)
downloadpastedeploy-ee815906992d46b29048174cee5253c1a0159806.tar.gz
Merged in aconrad/pastedeploy (pull request #1)
-rw-r--r--paste/deploy/converters.py8
-rw-r--r--tests/test_converters.py17
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')