From 3fca3f7d6e9d3e2af7a5632840540c14e8554ae2 Mon Sep 17 00:00:00 2001 From: learningit Date: Thu, 1 Feb 2018 11:00:42 -0500 Subject: [plugin.video.comettv] 3.0.7 --- plugin.video.comettv/resources/lib/scraper.py | 75 +++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 plugin.video.comettv/resources/lib/scraper.py (limited to 'plugin.video.comettv/resources/lib/scraper.py') diff --git a/plugin.video.comettv/resources/lib/scraper.py b/plugin.video.comettv/resources/lib/scraper.py new file mode 100644 index 0000000..083f179 --- /dev/null +++ b/plugin.video.comettv/resources/lib/scraper.py @@ -0,0 +1,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) + + + + + + -- cgit v1.2.3