[util] Add 'formatting' utility methods

Add helpers to unify formatting of bool/list/int values.
This commit is contained in:
Tobias Witek 2020-02-23 13:43:44 +01:00
parent a9c1c3581a
commit 7a1cd4b613
2 changed files with 83 additions and 0 deletions

26
util/format.py Normal file
View file

@ -0,0 +1,26 @@
def asbool(val):
if val is None:
return False
if isinstance(val, bool):
return val
val = str(val).strip().lower()
return val in ('t', 'true', 'y', 'yes', 'on', '1')
def asint(val, minimum=None, maximum=None):
if val is None:
val = 0
val = int(val)
val = min(val, maximum if maximum else val)
val = max(val, minimum if minimum else val)
return val
def aslist(val):
if val is None:
return []
if isinstance(val, list):
return val
return str(val).replace(' ', '').split(',')
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4