20 lines
585 B
Python

def str_to_bool(val: str):
if not val:
return False
val = val.lower()
if val in ('y', 'yes', 't', 'true', 'on', '1'):
return True
elif val in ('', 'n', 'no', 'f', 'false', 'off', '0'):
return False
else:
raise ValueError('invalid truth value %r' % (val,))
def trace_origin(initial_frame, stacklevel=0):
frame = initial_frame.f_back
for _ in range(stacklevel + 1):
frame = frame.f_back
file_name = frame.f_code.co_filename
line_number = frame.f_lineno
func_name = frame.f_code.co_name
print(file_name, ":", line_number, ": ", func_name, ": ")