| # (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 |
| |
| import six |
| |
| |
| def asbool(obj): |
| if isinstance(obj, (six.binary_type, six.text_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, (six.binary_type, six.text_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] |