def guess_app_stacklevel(start=1):
"""
try to guess stacklevel for application warning.
looks for first frame not part of passlib.
"""
frame = inspect.currentframe()
count = -start
try:
while frame:
name = frame.f_globals.get('__name__', "")
if name.startswith("passlib.tests.") or not name.startswith("passlib."):
return max(1, count)
count += 1
frame = frame.f_back
return start
finally:
del frame
评论列表
文章目录