Give a default value to safe_cast

This commit is contained in:
alessandro90
2019-05-28 20:05:19 +02:00
parent bae4f138c6
commit b937adcbe0

View File

@@ -128,14 +128,17 @@ def format_numbers(lower, upper):
else:
return f"{lower:,} {units[lower_factor]}"
def safe_cast(value, cast_type):
def safe_cast(value, cast_type, default=-1):
"""Calls 'cast_type(value)' and returns the result.
If the operation fails returns -1. Should be used to perform 'safe casts'.
If the operation fails returns 'default'.
Should be used to perform 'safe casts'.
Keyword argument:
default -- default value returned if the cast fails.
"""
try:
r = cast_type(value)
except Exception:
r = -1
r = default
finally:
return r