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
|
# -*- coding: utf-8 -*-
# KodiAddon (Comet TV Live)
#
from t1mlib import t1mAddon
import json
import re
import urllib
import xbmcplugin
import xbmcgui
import calendar
import datetime
import sys
import xbmc
UTF8 = 'utf-8'
class myAddon(t1mAddon):
def getAddonMenu(self,url,ilist):
self.defaultVidStream['width'] = 960
self.defaultVidStream['height'] = 540
html = self.getRequest('https://comettv.com/watch-live/')
url = re.compile(' file: "(.+?)"', re.DOTALL).search(html).group(1)
thumb = self.addonIcon
fanart = self.addonFanart
d = datetime.datetime.utcnow()
now = calendar.timegm(d.utctimetuple())
html = self.getRequest('http://mobilelistings.tvguide.com/Listingsweb/ws/rest/airings/20405/start/'+str(now)+'/duration/20160?channelsourceids=74313%7C62.4&formattype=json')
a = json.loads(html)
for b in a[:10]:
infoList = {}
b = b['ProgramSchedule']
st = datetime.datetime.fromtimestamp(float(b['StartTime'])).strftime('%H:%M')
et = datetime.datetime.fromtimestamp(float(b['EndTime'])).strftime('%H:%M')
infoList['duration'] = int(float(b['EndTime']) - float(b['StartTime']))
name = b['Title']
if b['EpisodeTitle'] != '':
infoList['TVShowTitle'] = name
season = b['TVObject'].get('SeasonNumber')
if season is not None:
infoList['Season'] = int(season)
episode = b['TVObject']['EpisodeNumber']
if episode is not None:
infoList['Episode'] = int(episode)
plot = '%s - %s %s min.[CR][COLOR blue]%s[/COLOR][CR]%s' % (st, et, infoList['duration'] / 60, b['EpisodeTitle'], b['CopyText'])
infoList['Plot'] = plot
infoList['MPAA'] = b.get('Rating')
infoList['mediatype'] = 'episode'
ilist = self.addMenuItem(name,'GV', ilist, url, thumb, fanart, infoList, isFolder=False)
return(ilist)
def getAddonVideo(self,url):
liz = xbmcgui.ListItem(path = url)
infoList ={}
infoList['Artist'] = []
infoList['Artist'].append(xbmc.getInfoLabel('ListItem.Artist'))
infoList['Title'] = xbmc.getInfoLabel('ListItem.Title')
vyear = xbmc.getInfoLabel('ListItem.Year')
if vyear is not None and vyear != 0:
infoList['Year'] = vyear
infoList['Plot'] = xbmc.getInfoLabel('ListItem.Plot')
infoList['Studio'] = xbmc.getInfoLabel('ListItem.Studio')
infoList['Album'] = xbmc.getInfoLabel('ListItem.Album')
infoList['Duration'] = xbmc.getInfoLabel('ListItem.Duration')
infoList['mediatype']= 'tvshow'
liz.setInfo('video', infoList)
liz.setProperty('inputstreamaddon','inputstream.adaptive')
liz.setProperty('inputstream.adaptive.manifest_type','hls')
xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, liz)
|