smarter deprecation warning using regex

This commit is contained in:
Sean Breckenridge 2021-10-28 23:12:26 -07:00
parent e31d41ca7c
commit 6a170b4c10

View file

@ -15,10 +15,27 @@ REQUIRES = [
'git+https://github.com/karlicoss/rexport',
]
from my.core import warnings as W
import re
import traceback
# some hacky traceback to inspect the current stack
# to see if the user is using the old style of importing
warn = False
for f in traceback.extract_stack():
line = f.line or '' # just in case it's None, who knows..
# cover the most common ways of previously interacting with the module
if 'import my.reddit ' in (line + ' '):
warn = True
elif 'from my import reddit' in line:
warn = True
elif re.match(r"from my\.reddit\simport\s(comments|saved|submissions|upvoted)", line):
warn = True
# TODO: add link to instructions to migrate
W.high("DEPRECATED! Instead of my.reddit, import from my.reddit.all instead.")
if warn:
from my.core import warnings as W
W.high("DEPRECATED! Instead of my.reddit, import from my.reddit.all instead.")
from .rexport import *