Python3 Migrate
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import contextlib
|
||||
import re
|
||||
import warnings
|
||||
|
||||
# Messages used in deprecation warnings are collected here so we can target
|
||||
# them easily when ignoring warnings.
|
||||
_MESSAGES = {
|
||||
# Deprecated features in core playback:
|
||||
"core.playback.play:tl_track_kwargs": (
|
||||
'playback.play() with "tl_track" argument is pending deprecation use '
|
||||
'"tlid" instead'
|
||||
),
|
||||
# Deprecated features in core tracklist:
|
||||
"core.tracklist.add:tracks_arg": (
|
||||
'tracklist.add() "tracks" argument is deprecated'
|
||||
),
|
||||
"core.tracklist.eot_track": (
|
||||
"tracklist.eot_track() is pending deprecation, use "
|
||||
"tracklist.get_eot_tlid()"
|
||||
),
|
||||
"core.tracklist.next_track": (
|
||||
"tracklist.next_track() is pending deprecation, use "
|
||||
"tracklist.get_next_tlid()"
|
||||
),
|
||||
"core.tracklist.previous_track": (
|
||||
"tracklist.previous_track() is pending deprecation, use "
|
||||
"tracklist.get_previous_tlid()"
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
def warn(msg_id, pending=False):
|
||||
if pending:
|
||||
category = PendingDeprecationWarning
|
||||
else:
|
||||
category = DeprecationWarning
|
||||
warnings.warn(_MESSAGES.get(msg_id, msg_id), category)
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def ignore(ids=None):
|
||||
with warnings.catch_warnings():
|
||||
if isinstance(ids, str):
|
||||
ids = [ids]
|
||||
|
||||
if ids:
|
||||
for msg_id in ids:
|
||||
msg = re.escape(_MESSAGES.get(msg_id, msg_id))
|
||||
warnings.filterwarnings("ignore", msg, DeprecationWarning)
|
||||
else:
|
||||
warnings.filterwarnings("ignore", category=DeprecationWarning)
|
||||
yield
|
||||
Reference in New Issue
Block a user