You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
898 B
30 lines
898 B
6 years ago
|
from beaker._compat import string_type
|
||
|
|
||
|
# (c) 2005 Ian Bicking and contributors; written for Paste (http://pythonpaste.org)
|
||
|
# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
|
||
|
def asbool(obj):
|
||
|
if isinstance(obj, string_type):
|
||
|
obj = obj.strip().lower()
|
||
|
if obj in ['true', 'yes', 'on', 'y', 't', '1']:
|
||
|
return True
|
||
|
elif obj in ['false', 'no', 'off', 'n', 'f', '0']:
|
||
|
return False
|
||
|
else:
|
||
|
raise ValueError(
|
||
|
"String is not true/false: %r" % obj)
|
||
|
return bool(obj)
|
||
|
|
||
|
|
||
|
def aslist(obj, sep=None, strip=True):
|
||
|
if isinstance(obj, string_type):
|
||
|
lst = obj.split(sep)
|
||
|
if strip:
|
||
|
lst = [v.strip() for v in lst]
|
||
|
return lst
|
||
|
elif isinstance(obj, (list, tuple)):
|
||
|
return obj
|
||
|
elif obj is None:
|
||
|
return []
|
||
|
else:
|
||
|
return [obj]
|