66 lines
2.5 KiB
Python
66 lines
2.5 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
"""
|
||
|
|
||
|
Copyright (C) 2014-2016 bromix (plugin.video.youtube)
|
||
|
Copyright (C) 2016-2018 plugin.video.youtube
|
||
|
|
||
|
SPDX-License-Identifier: GPL-2.0-only
|
||
|
See LICENSES/GPL-2.0-only for more information.
|
||
|
"""
|
||
|
|
||
|
from ... import kodion
|
||
|
|
||
|
|
||
|
def _process_play_video(provider, context, re_match):
|
||
|
"""
|
||
|
plugin://plugin.video.youtube/?action=play_video&videoid=[ID]
|
||
|
"""
|
||
|
video_id = context.get_param('videoid', '')
|
||
|
if not video_id:
|
||
|
raise kodion.KodionException('old_actions/play_video: missing video_id')
|
||
|
|
||
|
context.log_warning('DEPRECATED "%s"' % context.get_uri())
|
||
|
context.log_warning('USE INSTEAD "plugin://%s/play/?video_id=%s"' % (context.get_id(), video_id))
|
||
|
new_params = {'video_id': video_id}
|
||
|
new_path = '/play/'
|
||
|
new_context = context.clone(new_path=new_path, new_params=new_params)
|
||
|
return provider.on_play(new_context, re_match)
|
||
|
|
||
|
|
||
|
def _process_play_all(provider, context, re_match):
|
||
|
"""
|
||
|
plugin://plugin.video.youtube/?path=/root/video&action=play_all&playlist=PL8_6CHho8Tq4Iie-oNxb-g0ECxIhq3CxW
|
||
|
plugin://plugin.video.youtube/?action=play_all&playlist=PLZRRxQcaEjA5fgfW3a3Q0rzm6NgbmICtg&videoid=qmlYe2KS0-Y
|
||
|
"""
|
||
|
playlist_id = context.get_param('playlist', '')
|
||
|
if not playlist_id:
|
||
|
raise kodion.KodionException('old_actions/play_all: missing playlist_id')
|
||
|
|
||
|
# optional starting video id of the playlist
|
||
|
video_id = context.get_param('videoid', '')
|
||
|
if video_id:
|
||
|
context.log_warning(
|
||
|
'USE INSTEAD "plugin://%s/play/?playlist_id=%s&video_id=%s"' % (context.get_id(), playlist_id, video_id))
|
||
|
else:
|
||
|
context.log_warning('USE INSTEAD "plugin://%s/play/?playlist_id=%s"' % (context.get_id(), playlist_id))
|
||
|
new_params = {'playlist_id': playlist_id}
|
||
|
new_path = '/play/'
|
||
|
new_context = context.clone(new_path=new_path, new_params=new_params)
|
||
|
return provider.on_play(new_context, re_match)
|
||
|
|
||
|
|
||
|
def process_old_action(provider, context, re_match):
|
||
|
"""
|
||
|
if context.get_system_version().get_version() >= (15, 0):
|
||
|
message = u"You're using old YouTube-Plugin calls - please review the log for updated end points starting with Isengard"
|
||
|
context.get_ui().show_notification(message, time_milliseconds=15000)
|
||
|
"""
|
||
|
|
||
|
action = context.get_param('action', '')
|
||
|
if action == 'play_video':
|
||
|
return _process_play_video(provider, context, re_match)
|
||
|
elif action == 'play_all':
|
||
|
return _process_play_all(provider, context, re_match)
|
||
|
else:
|
||
|
raise kodion.KodionException('old_actions: unknown action "%s"' % action)
|