def episodes(url=common.args.url):
    data = common.getURL(url)
    tree=BeautifulSoup(data, convertEntities=BeautifulSoup.HTML_ENTITIES)
    menu=tree.findAll('div',attrs={'class':'tile'})
    for item in menu:
        link = item.find('div',attrs={'class':'tile_title'}).find('a')
        name = link.string
        url = link['href']
        thumb = item.find('img')['src']
        try: description = item.find('div',attrs={'class':'tile_desc'}).string
        except: description = ''
        show_tile_sub = item.find('div',attrs={'class':'show_tile_sub'}).string.split('|')
        airDate = show_tile_sub[1].replace(' Aired on ','').strip()
        duration = show_tile_sub[0].strip()
        u = sys.argv[0]
        u += '?url="'+urllib.quote_plus(url)+'"'
        u += '&mode="abc"'
        u += '&sitemode="play"'
        infoLabels={ "Title":name,
                     "Plot":description,
                     "premiered":common.formatDate(airDate,'%m/%d/%y'),
                     "Duration":duration,
                     }
        common.addVideo(u,name,thumb,infoLabels=infoLabels)
    common.setView('episodes')
Example #2
0
def episodes(url=common.args.url):
    data = common.getURL(url)
    tree = BeautifulSoup(data, convertEntities=BeautifulSoup.HTML_ENTITIES)
    menu = tree.findAll('div', attrs={'class': 'tile'})
    for item in menu:
        link = item.find('div', attrs={'class': 'tile_title'}).find('a')
        name = link.string
        url = link['href']
        thumb = item.find('img')['src']
        try:
            description = item.find('div', attrs={'class': 'tile_desc'}).string
        except:
            description = ''
        show_tile_sub = item.find('div', attrs={
            'class': 'show_tile_sub'
        }).string.split('|')
        airDate = show_tile_sub[1].replace(' Aired on ', '').strip()
        duration = show_tile_sub[0].strip()
        u = sys.argv[0]
        u += '?url="' + urllib.quote_plus(url) + '"'
        u += '&mode="abc"'
        u += '&sitemode="play"'
        infoLabels = {
            "Title": name,
            "Plot": description,
            "premiered": common.formatDate(airDate, '%m/%d/%y'),
            "Duration": duration,
        }
        common.addVideo(u, name, thumb, infoLabels=infoLabels)
    common.setView('episodes')
Example #3
0
def showroot(id=common.args.url):
    url = build_api_url('channel','',ID=id)
    data = common.getURL(url)
    if data:
        items = demjson.decode(data)['FolderList']
        for item in items:
            if 'Full Episodes'==item['Name'] or 'Television Clips & Trailers'==item['Name'] or 'Minisodes'==item['Name'] or 'Original Series'==item['Name'] or 'Movie'==item['Name'] or 'Movie Clips & Trailers'==item['Name']:
                for season in item['PlaylistList']:
                    for video in season['MediaList']:
                        thumb=video['ThumbnailExternal']
                        ID=str(video['ID'])
                        url = video['DetailsURL']
                        infoLabels={}
                        infoLabels['Title']=video['Title']
                        infoLabels['Duration']=video['Duration']
                        try:infoLabels['Season']=int(video['Season'])
                        except:pass
                        try:infoLabels['Episode']=int(video['Episode'])
                        except:pass
                        infoLabels['MPAA']=video['Rating'] 
                        infoLabels['Genre']=video['Genre'] 
                        infoLabels['TVShowTitle']=video['ParentChannelName'] 
                        infoLabels['Plot']=video['Description']
                        try:infoLabels['AirDate']=common.formatDate(video['ReleaseDate'],'%m/%d/%Y')
                        except: print video['ReleaseDate']
                        displayname=infoLabels['Title']
                        if infoLabels.has_key('Season') or infoLabels.has_key('Episode'):
                            displayname = str(infoLabels['Season'])+'x'+str(infoLabels['Episode'])+' - '+infoLabels['Title']
                        u = sys.argv[0]
                        u += '?url="'+urllib.quote_plus(ID)+'"'
                        u += '&mode="crackle"'
                        u += '&sitemode="play"'
                        common.addVideo(u,displayname,thumb,infoLabels=infoLabels)
    common.setView('episodes')
Example #4
0
def episode():
        cid = common.args.url
        showname = common.args.name
        #url = 'http://www.tnt.tv/processors/services/getCollectionByContentId.do?offset=0&sort=&limit=200&id='+cid
        #url = 'http://www.tnt.tv/content/services/getCollectionByContentId.do?site=true&offset=0&sort=&limit=200&id='+cid
        url = 'http://www.tnt.tv/video/content/services/getCollectionByContentId.do?offset=0&sort=&limit=200&id='+cid
        html=common.getURL(url)
        tree=BeautifulStoneSoup(html, convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
        episodes = tree.findAll('episode')
        for episode in episodes:
                episodeId = episode['id']
                name = episode.find('title').string
                thumbnail = episode.find('thumbnailurl').string
                plot = episode.find('description').string
                duration = episode.find('duration').string
                try:seasonNum = int(episode.find('seasonnumber').string)
                except:seasonNum = 0
                try:
                    episodeNum = episode.find('episodenumber').string
                    if len(episodeNum) > 2 and episodeNum.startswith(str(seasonNum)):
                        episodeNum = episodeNum[1:]
                    if len(episodeNum) > 2:
                        episodeNum = episodeNum[-2:]
                        print episodeNum
                    episodeNum = int(episodeNum)
                except:episodeNum = 0
                try:duration = episode.find('duration').string.strip()
                except: duration = ''
                try: mpaa = episode.find('tvratingcode').string.strip()
                except: mpaa = ''
                try: airdate = common.formatDate(episode.find('expirationdate').string,'%m/%d/%Y')
                except: airdate = ''
                displayname=name
                if episodeNum <> 0 or seasonNum <> 0:
                    displayname = str(seasonNum)+'x'+str(episodeNum)+' - '+name
                segments = episode.findAll('segment')
                if len(segments) == 0:
                    url = episodeId
                    mode = 'play'
                else:
                    url = ''
                    for segment in segments:
                            url += segment['id']+'<segment>'
                    mode = 'playepisode' #PLAYEPISODE
                u = sys.argv[0]
                u += '?url="'+urllib.quote_plus(url)+'"'
                u += '&mode="tnt"'
                u += '&sitemode="'+mode+'"'
                infoLabels={ "Title":name,
                             "Plot":plot,
                             "Season":seasonNum,
                             "Duration":duration,
                             "MPAA":mpaa,
                             "premiered":airdate,
                             "Episode":episodeNum,
                             "TVShowTitle":showname
                             }
                common.addVideo(u,displayname,thumbnail,infoLabels=infoLabels)
        common.setView('episodes')
Example #5
0
def showroot(id=common.args.url):
    url = build_api_url('channel', '', ID=id)
    data = common.getURL(url)
    if data:
        items = demjson.decode(data)['FolderList']
        for item in items:
            if 'Full Episodes' == item[
                    'Name'] or 'Television Clips & Trailers' == item[
                        'Name'] or 'Minisodes' == item[
                            'Name'] or 'Original Series' == item[
                                'Name'] or 'Movie' == item[
                                    'Name'] or 'Movie Clips & Trailers' == item[
                                        'Name']:
                for season in item['PlaylistList']:
                    for video in season['MediaList']:
                        thumb = video['ThumbnailExternal']
                        ID = str(video['ID'])
                        url = video['DetailsURL']
                        infoLabels = {}
                        infoLabels['Title'] = video['Title']
                        infoLabels['Duration'] = video['Duration']
                        try:
                            infoLabels['Season'] = int(video['Season'])
                        except:
                            pass
                        try:
                            infoLabels['Episode'] = int(video['Episode'])
                        except:
                            pass
                        infoLabels['MPAA'] = video['Rating']
                        infoLabels['Genre'] = video['Genre']
                        infoLabels['TVShowTitle'] = video['ParentChannelName']
                        infoLabels['Plot'] = video['Description']
                        try:
                            infoLabels['AirDate'] = common.formatDate(
                                video['ReleaseDate'], '%m/%d/%Y')
                        except:
                            print video['ReleaseDate']
                        displayname = infoLabels['Title']
                        if infoLabels.has_key('Season') or infoLabels.has_key(
                                'Episode'):
                            displayname = str(
                                infoLabels['Season']) + 'x' + str(
                                    infoLabels['Episode']
                                ) + ' - ' + infoLabels['Title']
                        u = sys.argv[0]
                        u += '?url="' + urllib.quote_plus(ID) + '"'
                        u += '&mode="crackle"'
                        u += '&sitemode="play"'
                        common.addVideo(u,
                                        displayname,
                                        thumb,
                                        infoLabels=infoLabels)
    common.setView('episodes')
Example #6
0
def process(urlBase, fullname = common.args.url):
    #url = 'http://feed.theplatform.com/f/OyMl-B/Y3vAV4MxgwlM'
    url = urlBase
    url += '&form=json'
    #url += '&fields=guid,title,description,categories,content,defaultThumbnailUrl'
    url += '&fileFields=duration,url,width,height'
    url += '&count=true'
    url += '&byCategories='+urllib.quote_plus(fullname)
    #url += '&byCustomValue={fullEpisode}{true}'
    data = common.getURL(url)
    episodes = demjson.decode(data)['entries']
    for episode in episodes:
        print episode
        try:
            name = episode['title'].split(':')[1].strip()
            seasonEpisode =episode['title'].split(':')[0].strip()
            season = int(seasonEpisode[:1])
            episodeNum = int(seasonEpisode[1:])
        except:
            name = episode['title']
            season=0
            episodeNum=0
        description = episode['description']
        try:
            thumb= episode['plmedia$defaultThumbnailUrl']
        except:
            print "no thumb for",name
        duration=str(int(episode['media$content'][0]['plfile$duration']))
        airDate = common.formatDate(epoch=episode['pubDate']/1000)
        #print "vid url",url
        url=episode['media$content'][0]['plfile$url']
        if season <> 0 and episodeNum <> 0:
            displayname = '%sx%s - %s' % (str(season),str(episodeNum),name)
        elif season <> 0:
            displayname = '%S%s - %s' % (str(season),name)
        else:
            displayname = name
        u = sys.argv[0]
        u += '?url="'+urllib.quote_plus(url)+'"'
        u += '&mode="usa"'
        u += '&sitemode="play"'
        infoLabels={ "Title":name,
                     "Season":season,
                     "Episode":episodeNum,
                     "Plot":description,
                     "premiered":airDate,
                     "Duration":duration,
                     "TVShowTitle":common.args.name
                     }
        common.addVideo(u,displayname,thumb,infoLabels=infoLabels)
Example #7
0
def ccepisodes(url=common.args.url):
    data = common.getURL(url)
    try:
        showcase=re.compile("var episodeShowcaseLlink = '(.+?)';").findall(data)[0]
        keepGoing=True
    except:
        keepGoing=False
        u = sys.argv[0]
        u += '?url="'+urllib.quote_plus(url)+'"'
        u += '&mode="comedy"'
        u += '&sitemode="playurl"'
        common.addVideo(u,"Play Episode")
    current=1
    while keepGoing:
        showcase_url = BASE_URL+showcase+'?currentPage='+str(current)
        data = common.getURL(showcase_url)
        videos=BeautifulSoup(data, convertEntities=BeautifulSoup.HTML_ENTITIES).findAll('div',attrs={'itemtype':'http://schema.org/TVEpisode'})
        for video in videos:
            infoLabels={}
            url=video.find('meta',attrs={'itemprop':'url'})['content']
            thumb=video.find('meta',attrs={'itemprop':'image'})['content']
            infoLabels['Title']=video.find('meta',attrs={'itemprop':'name'})['content']
            infoLabels['Plot']=video.find('meta',attrs={'itemprop':'description'})['content']
            infoLabels['premiered']=common.formatDate(video.find('meta',attrs={'itemprop':'datePublished'})['content'],'%b %d, %Y')
            seasonEpisode = video.find('div',attrs={'class':'video_meta'}).string.split('|')[0].split('-')
            infoLabels['Season'] = int(seasonEpisode[0].replace('Season','').strip())
            if 'Special' not in seasonEpisode[1]:
                episode = seasonEpisode[1].replace('Episode','').strip()
                if len(episode) > 2:
                    episode = episode[-2:]
                infoLabels['Episode'] = int(episode)
            else:
                infoLabels['Episode'] = 0
            if infoLabels['Season'] <> 0 or infoLabels['Episode'] <> 0:
                displayname = '%sx%s - %s' % (infoLabels['Season'],str(infoLabels['Episode']),infoLabels['Title'])
            else:
                displayname = infoLabels['Title']
            u = sys.argv[0]
            u += '?url="'+urllib.quote_plus(url)+'"'
            u += '&mode="comedy"'
            u += '&sitemode="playurl"'
            common.addVideo(u,displayname,thumb,infoLabels=infoLabels)
        if len(videos) < 5:
            keepGoing=False
        current+=1
    common.setView('episodes')
Example #8
0
def process(urlBase, fullname = common.args.url):
    #url = 'http://feed.theplatform.com/f/OyMl-B/Y3vAV4MxgwlM'
    url = urlBase
    url += '&form=json'
    #url += '&fields=guid,title,description,categories,content,defaultThumbnailUrl'
    url += '&fileFields=duration,url,width,height'
    url += '&count=true'
    url += '&byCategories='+urllib.quote_plus(fullname)
    #url += '&byCustomValue={fullEpisode}{true}'
    data = common.getURL(url)
    episodes = demjson.decode(data)['entries']
    for episode in episodes:
        try:
            name = episode['title'].split(':')[1].strip()
            seasonEpisode =episode['title'].split(':')[0].strip()
            season = int(seasonEpisode[:1])
            episodeNum = int(seasonEpisode[1:])
        except:
            name = episode['title']
            season=0
            episodeNum=0
        description = episode['description']
        thumb= episode['plmedia$defaultThumbnailUrl']
        duration=str(int(episode['media$content'][0]['plfile$duration']))
        airDate = common.formatDate(epoch=episode['pubDate']/1000)
        url=episode['media$content'][0]['plfile$url']
        if season <> 0 and episodeNum <> 0:
            displayname = '%sx%s - %s' % (str(season),str(episodeNum),name)
        elif season <> 0:
            displayname = '%S%s - %s' % (str(season),name)
        else:
            displayname = name
        u = sys.argv[0]
        u += '?url="'+urllib.quote_plus(url)+'"'
        u += '&mode="usa"'
        u += '&sitemode="play"'
        infoLabels={ "Title":name,
                     "Season":season,
                     "Episode":episodeNum,
                     "Plot":description,
                     "premiered":airDate,
                     "Duration":duration,
                     "TVShowTitle":common.args.name
                     }
        common.addVideo(u,displayname,thumb,infoLabels=infoLabels)
Example #9
0
def process(urlBase, fullname=common.args.url):
    url = urlBase
    url += '&form=json'
    #url += '&fields=guid,title,description,categories,content,defaultThumbnailUrl'#,:fullEpisode
    url += '&fileFields=duration,url,width,height'
    url += '&count=true'
    #url += '&byCategories='+urllib.quote_plus(fullname)
    #url += '&byCustomValue={fullEpisode}{false}'
    data = common.getURL(url)
    episodes = demjson.decode(data)['entries']
    for episode in episodes:
        if fullname == episode['pl1$show'][0]:
            try:
                name = episode['description'].split('-')[1].strip()
            except:
                name = episode['pl1$show'][0]
            showname = episode['pl1$subtitle']
            description = episode['description']
            thumb = episode['plmedia$defaultThumbnailUrl']
            season = episode['pl1$season'][0]
            episodeNum = episode['pl1$episode'][0]
            duration = str(int(episode['media$content'][0]['plfile$duration']))
            url = episode['media$content'][0]['plfile$url']
            airDate = common.formatDate(epoch=episode['pubDate'] / 1000)
            displayname = '%sx%s - %s' % (str(season), str(episodeNum), name)
            u = sys.argv[0]
            u += '?url="' + urllib.quote_plus(url) + '"'
            u += '&mode="bravo"'
            u += '&sitemode="play"'
            infoLabels = {
                "Title": name,
                "Season": season,
                "Episode": episodeNum,
                "Plot": description,
                "premiered": airDate,
                "Duration": duration,
                "TVShowTitle": showname
            }
            common.addVideo(u, displayname, thumb, infoLabels=infoLabels)
Example #10
0
def process(urlBase, fullname = common.args.url):
    url = urlBase
    url += '&form=json'
    #url += '&fields=guid,title,description,categories,content,defaultThumbnailUrl'#,:fullEpisode
    url += '&fileFields=duration,url,width,height'
    url += '&count=true'
    #url += '&byCategories='+urllib.quote_plus(fullname)
    #url += '&byCustomValue={fullEpisode}{false}'
    data = common.getURL(url)
    episodes = demjson.decode(data)['entries']
    for episode in episodes:
        if fullname == episode['pl1$show'][0]:
            try: name = episode['description'].split('-')[1].strip()
            except: name = episode['pl1$show'][0]
            showname = episode['pl1$subtitle']
            description = episode['description']
            thumb= episode['plmedia$defaultThumbnailUrl']
            season = episode['pl1$season'][0]
            episodeNum = episode['pl1$episode'][0]
            duration=str(int(episode['media$content'][0]['plfile$duration']))
            url=episode['media$content'][0]['plfile$url']
            airDate = common.formatDate(epoch=episode['pubDate']/1000)
            displayname = '%sx%s - %s' % (str(season),str(episodeNum),name)
            u = sys.argv[0]
            u += '?url="'+urllib.quote_plus(url)+'"'
            u += '&mode="bravo"'
            u += '&sitemode="play"'
            infoLabels={ "Title":name,
                         "Season":season,
                         "Episode":episodeNum,
                         "Plot":description,
                         "premiered":airDate,
                         "Duration":duration,
                         "TVShowTitle":showname
                         }
            common.addVideo(u,displayname,thumb,infoLabels=infoLabels)
Example #11
0
def process(urlBase, fullname=common.args.url):
    #url = 'http://feed.theplatform.com/f/AqNl-B/iyAsU_4kQn1I'
    url = urlBase
    url += '?form=json'
    #url += '&fields=guid,title,description,categories,content,defaultThumbnailUrl'#,:fullEpisode
    url += '&fileFields=duration,url,width,height'
    url += '&count=true'
    url += '&byCategories=' + urllib.quote_plus(fullname)
    #url += '&byCustomValue={fullEpisode}{false}'
    data = common.getURL(url)
    episodes = demjson.decode(data)['entries']
    for episode in episodes:
        if ':' in episode['title']:
            name = episode['title'].split(':')[1].strip()
        else:
            name = episode['title']
        description = episode['description']
        if ' Episode ' in episode[
                'title'] and ' Episode Preview' not in episode['title']:
            showname = episode['title'].split('Episode')[0].strip()
            seasonEpisode = episode['title'].split(':')[0].split(
                'Episode')[-1].strip()
            try:
                season = int(seasonEpisode[:1])
                episodeNum = int(seasonEpisode[1:])
            except:
                season = 0
                episodeNum = 0
            displayname = '%sx%s - %s' % (str(season), str(episodeNum), name)
        elif ' Season ' in episode['title']:
            showname = episode['title'].split('Season')[0].strip()
            season = int(episode['title'].split(':')[0].split('Season')
                         [-1].strip().split(' ')[0].strip())
            episodeNum = 0
            displayname = '%sx%s - %s' % (str(season), str(episodeNum), name)
        else:
            try:
                seasonEpisode = episode['title'].split(':')[0].split(
                    ' ')[-1].strip()
                showname = episode['title'].split(seasonEpisode)[0].strip()
                season = int(seasonEpisode[:1])
                episodeNum = int(seasonEpisode[1:])
                displayname = '%sx%s - %s' % (str(season), str(episodeNum),
                                              name)
            except:
                name = episode['title']
                showname = name.split(' ')[0]
                displayname = name
                season = 0
                episodeNum = 0
        thumb = episode['plmedia$defaultThumbnailUrl']
        duration = str(int(episode['media$content'][0]['plfile$duration']))
        url = episode['media$content'][0]['plfile$url']
        airDate = common.formatDate(epoch=episode['pubDate'] / 1000)

        u = sys.argv[0]
        u += '?url="' + urllib.quote_plus(url) + '"'
        u += '&mode="oxygen"'
        u += '&sitemode="play"'
        infoLabels = {
            "Title": name,
            "Season": season,
            "Episode": episodeNum,
            "Plot": description,
            "premiered": airDate,
            "Duration": duration,
            "TVShowTitle": showname
        }
        common.addVideo(u, displayname, thumb, infoLabels=infoLabels)
Example #12
0
def episodes(url=common.args.url):
    data = common.getURL(url)
    tree=BeautifulSoup(data, convertEntities=BeautifulSoup.HTML_ENTITIES)
    menu=tree.findAll(attrs={'id':True,'class':True,'href':'#'})
    for item in menu:        
        if 'http://www.colbertnation.com' in common.args.url:
            eurl='http://www.colbertnation.com'+item['id']
            data = common.getURL(eurl)
            tree=BeautifulSoup(data, convertEntities=BeautifulSoup.HTML_ENTITIES) 
            episodes=tree.findAll(attrs={'class':'module showcase_item'})
            selected = tree.find(attrs={'class':'module showcase_item selected'})
            if selected <> None:
                episodes.insert(0,selected)
            for episode in episodes:
                thumb = episode.find('img')['src'].split('?')[0]
                name = episode.find(attrs={'class':'title'}).find('a').string.encode('utf8')
                url = episode.find(attrs={'class':'title'}).find('a')['href']
                airDate = episode.find(attrs={'class':'date'}).string.replace('Aired: ','')
                airDate = common.formatDate(airDate,'%m/%d/%y')
                try: description = episode.find(attrs={'class':'description'}).string.encode('utf8')
                except: description = ''
                seasonepisode = episode.find(attrs={'class':'number'}).string.replace('Episode ','')
                if len(seasonepisode) == 5:
                    season = int(seasonepisode[:2])
                    episode = int(seasonepisode[-3:])
                elif len(seasonepisode) == 4:
                    season = int(seasonepisode[:2])
                    episode = int(seasonepisode[-2:])
                elif len(seasonepisode) == 3:
                    season = int(seasonepisode[:1])
                    episode = int(seasonepisode[-2:])
                else:
                    season = 0
                    episode = 0
                if season <> 0 or episode <> 0:
                    displayname = '%sx%s - %s' % (str(season),str(episode),name)
                else:
                    displayname = name
                u = sys.argv[0]
                u += '?url="'+urllib.quote_plus(url)+'"'
                u += '&mode="comedy"'
                u += '&sitemode="playurl"'
                infoLabels={ "Title":name,
                             "Season":season,
                             "Episode":episode,
                             "Plot":description,
                             "premiered":airDate,
                             #"Duration":duration,
                             "TVShowTitle":common.args.name
                             }
                common.addVideo(u,displayname,thumb,infoLabels=infoLabels)
        else:
            eurl = item['id']
            data = common.getURL(eurl)
            tree=BeautifulSoup(data, convertEntities=BeautifulSoup.HTML_ENTITIES) 
            episodes=tree.findAll(attrs={'class':'moreEpisodesContainer'})
            selected = tree.find(attrs={'class':'moreEpisodesContainer-selected'})
            if selected <> None:
                episodes.insert(0,selected)
            for episode in episodes:
                thumb = episode.find('img')['src'].split('?')[0]
                name = episode.find(attrs={'class':'moreEpisodesTitle'}).find('a').string.encode('utf8')
                url = episode.find(attrs={'class':'moreEpisodesTitle'}).find('a')['href']
                airDate = episode.find(attrs={'class':'moreEpisodesAirDate'}).find(attrs={'class':'date'}).string.replace('Aired: ','')
                airDate = common.formatDate(airDate,'%m/%d/%y')
                try: description = episode.find(attrs={'class':'description'}).string.encode('utf8')
                except: description = ''
                seasonepisode = episode.find(attrs={'class':'moreEpisodesNumber'}).find(attrs={'class':'id'}).string.replace('Episode ','')
                if len(seasonepisode) == 5:
                    season = int(seasonepisode[:2])
                    episode = int(seasonepisode[-3:])
                elif len(seasonepisode) == 4:
                    season = int(seasonepisode[:2])
                    episode = int(seasonepisode[-2:])
                elif len(seasonepisode) == 3:
                    season = int(seasonepisode[:1])
                    episode = int(seasonepisode[-2:])
                else:
                    season = 0
                    episode = 0
                if season <> 0 or episode <> 0:
                    displayname = '%sx%s - %s' % (str(season),str(episode),name)
                else:
                    displayname = name
                u = sys.argv[0]
                u += '?url="'+urllib.quote_plus(url)+'"'
                u += '&mode="comedy"'
                u += '&sitemode="playurl"'
                infoLabels={ "Title":name,
                             "Season":season,
                             "Episode":episode,
                             "Plot":description,
                             "premiered":airDate,
                             #"Duration":duration,
                             "TVShowTitle":common.args.name
                             }
                common.addVideo(u,displayname,thumb,infoLabels=infoLabels)
    common.setView('episodes')
Example #13
0
def process(urlBase, fullname = common.args.url):
    #url = 'http://feed.theplatform.com/f/AqNl-B/iyAsU_4kQn1I'
    url = urlBase
    url += '?form=json'
    #url += '&fields=guid,title,description,categories,content,defaultThumbnailUrl'#,:fullEpisode
    url += '&fileFields=duration,url,width,height'
    url += '&count=true'
    url += '&byCategories='+urllib.quote_plus(fullname)
    #url += '&byCustomValue={fullEpisode}{false}'
    data = common.getURL(url)
    episodes = demjson.decode(data)['entries']
    for episode in episodes:
        if ':' in episode['title']:
            name = episode['title'].split(':')[1].strip()
        else:
            name = episode['title']
        description = episode['description']
        if ' Episode ' in episode['title'] and ' Episode Preview' not in episode['title']:
            showname=episode['title'].split('Episode')[0].strip()
            seasonEpisode = episode['title'].split(':')[0].split('Episode')[-1].strip()
            try:
                season = int(seasonEpisode[:1])
                episodeNum = int(seasonEpisode[1:])
            except:
                season = 0
                episodeNum = 0
            displayname = '%sx%s - %s' % (str(season),str(episodeNum),name)
        elif ' Season ' in episode['title']:
            showname=episode['title'].split('Season')[0].strip()
            season = int(episode['title'].split(':')[0].split('Season')[-1].strip().split(' ')[0].strip())
            episodeNum = 0
            displayname = '%sx%s - %s' % (str(season),str(episodeNum),name)
        else:
            try:
                seasonEpisode = episode['title'].split(':')[0].split(' ')[-1].strip()
                showname=episode['title'].split(seasonEpisode)[0].strip()
                season = int(seasonEpisode[:1])
                episodeNum = int(seasonEpisode[1:])
                displayname = '%sx%s - %s' % (str(season),str(episodeNum),name)
            except:
                name = episode['title']
                showname = name.split(' ')[0]
                displayname = name
                season = 0
                episodeNum = 0
        thumb= episode['plmedia$defaultThumbnailUrl']
        duration=str(int(episode['media$content'][0]['plfile$duration']))
        url=episode['media$content'][0]['plfile$url']
        airDate = common.formatDate(epoch=episode['pubDate']/1000)
        
        u = sys.argv[0]
        u += '?url="'+urllib.quote_plus(url)+'"'
        u += '&mode="oxygen"'
        u += '&sitemode="play"'
        infoLabels={ "Title":name,
                     "Season":season,
                     "Episode":episodeNum,
                     "Plot":description,
                     "premiered":airDate,
                     "Duration":duration,
                     "TVShowTitle":showname
                     }
        common.addVideo(u,displayname,thumb,infoLabels=infoLabels)
Example #14
0
def ccepisodes(url=common.args.url):
    data = common.getURL(url)
    try:
        showcase = re.compile("var episodeShowcaseLlink = '(.+?)';").findall(
            data)[0]
        keepGoing = True
    except:
        keepGoing = False
        u = sys.argv[0]
        u += '?url="' + urllib.quote_plus(url) + '"'
        u += '&mode="comedy"'
        u += '&sitemode="playurl"'
        common.addVideo(u, "Play Episode")
    current = 1
    while keepGoing:
        showcase_url = BASE_URL + showcase + '?currentPage=' + str(current)
        data = common.getURL(showcase_url)
        videos = BeautifulSoup(
            data, convertEntities=BeautifulSoup.HTML_ENTITIES).findAll(
                'div', attrs={'itemtype': 'http://schema.org/TVEpisode'})
        for video in videos:
            infoLabels = {}
            url = video.find('meta', attrs={'itemprop': 'url'})['content']
            thumb = video.find('meta', attrs={'itemprop': 'image'})['content']
            infoLabels['Title'] = video.find('meta',
                                             attrs={'itemprop':
                                                    'name'})['content']
            infoLabels['Plot'] = video.find('meta',
                                            attrs={'itemprop':
                                                   'description'})['content']
            infoLabels['premiered'] = common.formatDate(
                video.find('meta', attrs={'itemprop':
                                          'datePublished'})['content'],
                '%b %d, %Y')
            seasonEpisode = video.find('div', attrs={
                'class': 'video_meta'
            }).string.split('|')[0].split('-')
            infoLabels['Season'] = int(seasonEpisode[0].replace('Season',
                                                                '').strip())
            if 'Special' not in seasonEpisode[1]:
                episode = seasonEpisode[1].replace('Episode', '').strip()
                if len(episode) > 2:
                    episode = episode[-2:]
                infoLabels['Episode'] = int(episode)
            else:
                infoLabels['Episode'] = 0
            if infoLabels['Season'] <> 0 or infoLabels['Episode'] <> 0:
                displayname = '%sx%s - %s' % (infoLabels['Season'],
                                              str(infoLabels['Episode']),
                                              infoLabels['Title'])
            else:
                displayname = infoLabels['Title']
            u = sys.argv[0]
            u += '?url="' + urllib.quote_plus(url) + '"'
            u += '&mode="comedy"'
            u += '&sitemode="playurl"'
            common.addVideo(u, displayname, thumb, infoLabels=infoLabels)
        if len(videos) < 5:
            keepGoing = False
        current += 1
    common.setView('episodes')
Example #15
0
def episodes(url=common.args.url):
    data = common.getURL(url)
    tree = BeautifulSoup(data, convertEntities=BeautifulSoup.HTML_ENTITIES)
    menu = tree.findAll(attrs={'id': True, 'class': True, 'href': '#'})
    for item in menu:
        if 'http://www.colbertnation.com' in common.args.url:
            eurl = 'http://www.colbertnation.com' + item['id']
            data = common.getURL(eurl)
            tree = BeautifulSoup(data,
                                 convertEntities=BeautifulSoup.HTML_ENTITIES)
            episodes = tree.findAll(attrs={'class': 'module showcase_item'})
            selected = tree.find(
                attrs={'class': 'module showcase_item selected'})
            if selected <> None:
                episodes.insert(0, selected)
            for episode in episodes:
                thumb = episode.find('img')['src'].split('?')[0]
                name = episode.find(attrs={
                    'class': 'title'
                }).find('a').string.encode('utf8')
                url = episode.find(attrs={'class': 'title'}).find('a')['href']
                airDate = episode.find(attrs={
                    'class': 'date'
                }).string.replace('Aired: ', '')
                airDate = common.formatDate(airDate, '%m/%d/%y')
                try:
                    description = episode.find(attrs={
                        'class': 'description'
                    }).string.encode('utf8')
                except:
                    description = ''
                seasonepisode = episode.find(attrs={
                    'class': 'number'
                }).string.replace('Episode ', '')
                if len(seasonepisode) == 5:
                    season = int(seasonepisode[:2])
                    episode = int(seasonepisode[-3:])
                elif len(seasonepisode) == 4:
                    season = int(seasonepisode[:2])
                    episode = int(seasonepisode[-2:])
                elif len(seasonepisode) == 3:
                    season = int(seasonepisode[:1])
                    episode = int(seasonepisode[-2:])
                else:
                    season = 0
                    episode = 0
                if season <> 0 or episode <> 0:
                    displayname = '%sx%s - %s' % (str(season), str(episode),
                                                  name)
                else:
                    displayname = name
                u = sys.argv[0]
                u += '?url="' + urllib.quote_plus(url) + '"'
                u += '&mode="comedy"'
                u += '&sitemode="playurl"'
                infoLabels = {
                    "Title": name,
                    "Season": season,
                    "Episode": episode,
                    "Plot": description,
                    "premiered": airDate,
                    #"Duration":duration,
                    "TVShowTitle": common.args.name
                }
                common.addVideo(u, displayname, thumb, infoLabels=infoLabels)
        else:
            eurl = item['id']
            data = common.getURL(eurl)
            tree = BeautifulSoup(data,
                                 convertEntities=BeautifulSoup.HTML_ENTITIES)
            episodes = tree.findAll(attrs={'class': 'moreEpisodesContainer'})
            selected = tree.find(
                attrs={'class': 'moreEpisodesContainer-selected'})
            if selected <> None:
                episodes.insert(0, selected)
            for episode in episodes:
                thumb = episode.find('img')['src'].split('?')[0]
                name = episode.find(attrs={
                    'class': 'moreEpisodesTitle'
                }).find('a').string.encode('utf8')
                url = episode.find(attrs={
                    'class': 'moreEpisodesTitle'
                }).find('a')['href']
                airDate = episode.find(attrs={
                    'class': 'moreEpisodesAirDate'
                }).find(attrs={
                    'class': 'date'
                }).string.replace('Aired: ', '')
                airDate = common.formatDate(airDate, '%m/%d/%y')
                try:
                    description = episode.find(attrs={
                        'class': 'description'
                    }).string.encode('utf8')
                except:
                    description = ''
                seasonepisode = episode.find(attrs={
                    'class': 'moreEpisodesNumber'
                }).find(attrs={
                    'class': 'id'
                }).string.replace('Episode ', '')
                if len(seasonepisode) == 5:
                    season = int(seasonepisode[:2])
                    episode = int(seasonepisode[-3:])
                elif len(seasonepisode) == 4:
                    season = int(seasonepisode[:2])
                    episode = int(seasonepisode[-2:])
                elif len(seasonepisode) == 3:
                    season = int(seasonepisode[:1])
                    episode = int(seasonepisode[-2:])
                else:
                    season = 0
                    episode = 0
                if season <> 0 or episode <> 0:
                    displayname = '%sx%s - %s' % (str(season), str(episode),
                                                  name)
                else:
                    displayname = name
                u = sys.argv[0]
                u += '?url="' + urllib.quote_plus(url) + '"'
                u += '&mode="comedy"'
                u += '&sitemode="playurl"'
                infoLabels = {
                    "Title": name,
                    "Season": season,
                    "Episode": episode,
                    "Plot": description,
                    "premiered": airDate,
                    #"Duration":duration,
                    "TVShowTitle": common.args.name
                }
                common.addVideo(u, displayname, thumb, infoLabels=infoLabels)
    common.setView('episodes')