diff options
Diffstat (limited to 'plugin.video.dazn/resources/lib/context.py')
-rw-r--r-- | plugin.video.dazn/resources/lib/context.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/plugin.video.dazn/resources/lib/context.py b/plugin.video.dazn/resources/lib/context.py new file mode 100644 index 0000000..d84cbb1 --- /dev/null +++ b/plugin.video.dazn/resources/lib/context.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- + +class Context: + + def __init__(self, plugin): + self.cm = [] + self.plugin = plugin + + def epg_date(self): + d = { + 'mode': 'epg', + 'id': 'date' + } + self.cm.append((self.plugin.get_string(30230), 'ActivateWindow(Videos, {0})'.format(self.plugin.build_url(d)))) + return self.cm + + def highlights(self, item, mode): + d = { + 'mode': mode, + 'title': self.plugin.utfenc(item['title']), + 'id': item.get('id', ''), + 'params': item.get('params','') + } + self.cm.append((self.plugin.get_string(30231), 'ActivateWindow(Videos, {0})'.format(self.plugin.build_url(d)))) + return self.cm + + def related(self, cm_items): + for i in cm_items: + d = { + 'mode': 'play_context', + 'title': self.plugin.utfenc(i['title']), + 'id': i.get('id', ''), + 'params': i.get('params','') + } + self.cm.append((self.plugin.get_string(30213), 'XBMC.RunPlugin({0})'.format(self.plugin.build_url(d)))) + return self.cm + + def goto(self, item): + if item.get('sport', None): + i = item['sport'] + d = { + 'mode': 'rails', + 'title': self.plugin.utfenc(i['Title']), + 'id': 'sport', + 'params': i['Id'] + } + self.cm.append((self.plugin.get_string(30214), 'ActivateWindow(Videos, {0})'.format(self.plugin.build_url(d)))) + + if item.get('competition', None): + i = item['competition'] + d = { + 'mode': 'rails', + 'title': self.plugin.utfenc(i['Title']), + 'id': 'competition', + 'params': i['Id'] + } + self.cm.append((self.plugin.get_string(30215), 'ActivateWindow(Videos, {0})'.format(self.plugin.build_url(d)))) + + return self.cm |