1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# -*- coding: utf-8 -*-
class Tiles:
def __init__(self, plugin, i):
self.item = {}
self.plugin = plugin
self.title = self.plugin.utfenc(i['Title'])
self.subtitle = i.get('SubTitle', '')
self.description = self.plugin.utfenc(i['Description'])
self.start = self.plugin.utc2local(i.get('Start', ''))
self.end = self.plugin.utc2local(i.get('End', ''))
self.now = self.plugin.time_now()
self.sport = i.get('Sport', [])
self.competition = i.get('Competition', [])
self.type = i.get('Type', '')
self.nav = i.get('NavigateTo', '')
self.related = i.get('Related', [])
if self.nav:
self.mode = 'rails'
self.id = i['NavigateTo']
self.params = i['NavParams']
else:
self.mode = 'play'
self.id = i['AssetId']
self.params = i['EventId']
self.update_item(i)
def add_duration(self, i):
if 'UpComing' in self.type:
self.end = self.start
self.start = self.now
elif 'Live' in self.type:
self.start = self.now
if self.start and self.end:
self.item['duration'] = self.plugin.timedelta_total_seconds(self.plugin.time_stamp(self.end)-self.plugin.time_stamp(self.start))
def add_thumb(self, i):
url = self.plugin.api_base+'v2/image?id={0}&Quality=95&Width={1}&Height={2}&ResizeAction=fill&VerticalAlignment=top&Format={3}'
image = i.get('Image', '')
if image:
self.item['thumb'] = url.format(image['Id'], '720', '404', image['ImageMimeType'])
self.item['fanart'] = url.format(image['Id'], '1280', '720', image['ImageMimeType'])
background = i.get('BackgroundImage', '')
if background:
self.item['fanart'] = url.format(background['Id'], '1280', '720', background['ImageMimeType'])
def update_item(self, i):
self.item['mode'] = self.mode
self.item['title'] = self.title
self.item['plot'] = self.description
self.item['id'] = self.id
self.item['type'] = self.plugin.get_resource(self.type)
if self.params:
self.item['params'] = self.params
if 'Epg' in i.get('Id', ''):
if self.competition:
competition = self.plugin.utfenc(self.competition['Title'])
if self.sport:
sport = self.plugin.utfenc(self.sport['Title'])
time_ = self.start[11:][:5]
if self.type == 'Live':
self.item['title'] = '[COLOR red]{0}[/COLOR] [COLOR dimgray]{1}[/COLOR] {2} [COLOR dimgray]{3}[/COLOR]'.format(time_, sport, self.title, competition)
else:
self.item['title'] = '{0} [COLOR dimgray]{1}[/COLOR] {2} [COLOR dimgray]{3}[/COLOR]'.format(time_, sport, self.title, competition)
elif (self.type == 'UpComing' or 'Scheduled' in i.get('Id', '')) or (self.type == 'Highlights'):
if self.type == 'UpComing':
day = self.plugin.get_resource(self.plugin.days(self.type, self.now, self.start))
sub_title = '{0} {1}'.format(day, self.start[11:][:5])
else:
sub_title = self.plugin.get_resource(self.type)
self.item['title'] = '{0} ({1})'.format(self.title, sub_title)
if self.start:
self.item['date'] = self.start[:10]
self.item['related'] = self.related
self.item['sport'] = self.sport
self.item['competition'] = self.competition
self.add_thumb(i)
self.add_duration(i)
|