def type_check(value, value_type, variable, override=None):
"""Check value is of type value_type, or is override"""
sys.tracebacklimit = None
# int_32 is an internal type so for the purpose of this external checking
# it's OK to use the parent type (int).
vtype = value_type
if value_type == int_32:
vtype = int
if not isinstance(value, vtype) and value is not override:
if override is not False:
raise TypeError(
"Expected {} or {} for {}, received {}".format(vtype,
override,
variable,
type(value)))
else:
raise TypeError(
"Expected {} for {}, received {}".format(vtype,
variable,
type(value)))
return True
评论列表
文章目录