summaryrefslogtreecommitdiff
path: root/cmd2/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'cmd2/utils.py')
-rw-r--r--cmd2/utils.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/cmd2/utils.py b/cmd2/utils.py
index 9cbea915..9d71d061 100644
--- a/cmd2/utils.py
+++ b/cmd2/utils.py
@@ -93,6 +93,8 @@ def cast(current: Any, new: str) -> Any:
:return: new value with same type as current, or the current value if there was an error casting
"""
typ = type(current)
+ orig_new = new
+
if typ == bool:
try:
return bool(int(new))
@@ -100,18 +102,18 @@ def cast(current: Any, new: str) -> Any:
pass
try:
new = new.lower()
+ if (new == 'on') or (new[0] in ('y', 't')):
+ return True
+ if (new == 'off') or (new[0] in ('n', 'f')):
+ return False
except AttributeError:
pass
- if (new == 'on') or (new[0] in ('y', 't')):
- return True
- if (new == 'off') or (new[0] in ('n', 'f')):
- return False
else:
try:
return typ(new)
except (ValueError, TypeError):
pass
- print("Problem setting parameter (now %s) to %s; incorrect type?" % (current, new))
+ print("Problem setting parameter (now {}) to {}; incorrect type?".format(current, orig_new))
return current