Beispiel #1
0
def playlist(plid):

    ilist = cache.get(youtube.youtube(key=key).playlist, 12, plid)

    if ilist is None:
        return

    for i in ilist:
        i.update({'action': 'play', 'isFolder': 'False'})

    for item in ilist:
        bookmark = dict((k, v) for k, v in item.iteritems() if not k == 'next')
        bookmark['bookmark'] = item['url']
        bm_cm = {
            'title': 30006,
            'query': {
                'action': 'addBookmark',
                'url': json.dumps(bookmark)
            }
        }
        refresh = {'title': 30008, 'query': {'action': 'refresh'}}
        cache_clear = {'title': 30005, 'query': {'action': 'cache_clear'}}
        item.update({'cm': [refresh, cache_clear, bm_cm]})

    directory.add(ilist, content='videos')
Beispiel #2
0
    def archive(self):

        self.list = cache.get(
            youtube.youtube(key=self.yt_key).playlists, 12, self.yt_channel)

        if self.list is None:
            return

        for i in self.list:
            i['title'] = client.replaceHTMLCodes(i['title'])
            i.update({'action': 'episodes'})
            bookmark = dict((k, v) for k, v in iteritems(i) if not k == 'next')
            bookmark['bookmark'] = i['url']
            i.update({
                'cm': [{
                    'title': 32501,
                    'query': {
                        'action': 'addBookmark',
                        'url': json.dumps(bookmark)
                    }
                }]
            })

        control.sortmethods('title')

        directory.add(self.list, content='videos')
Beispiel #3
0
    def techno_choices(self, url):

        self.list = cache.get(youtube.youtube(key=thgiliwt(api_keys['api_key']), replace_url=replace_url).playlist, 12, url)

        if self.list is None:

            return

        for i in self.list:
            i['label'] = i.pop('title')
            # process stupid descriptions/comments put up by uploaders on labels
            i['label'] = re.sub(r'PREMIERE ?:|\(full version\)\.mp4|\(?(?:Un)?Official.*\)? ?(?:HD)?|\[?HD (?:108|72)0p\]?', '', i['label'], flags=re.IGNORECASE)

        for count, i in list(enumerate(self.list, start=1)):

            if '–' in i['label']:
                sep = '–'
            elif ':' in i['label'] and not '-' in i['label']:
                sep = ':'
            elif '-' in i['label']:
                sep = '-'
            else:
                sep = ' '

            artist, separator, title = i['label'].partition(sep)

            if '&' in artist:
                artists_separator = '&'
            elif ',' in artist:
                artists_separator = ','
            elif 'feat.' in artist:
                artists_separator = 'feat.'
            elif 'feat' in artist:
                artists_separator = 'feat'
            elif 'Feat' in artist:
                artists_separator = 'Feat'
            else:
                artists_separator = None

            if artists_separator:
                artist = [a.strip() for a in artist.split(artists_separator)]
                on_label = ' / '.join(artist)
            else:
                on_label = artist.strip()
                artist = [artist.strip()]

            i.update(
                {
                    'action': 'play', 'isFolder': 'False', 'title': title, 'label': ' '.join([on_label, separator , title]),
                    'album': control.lang(30292), 'fanart': 'https://i.ytimg.com/vi/vtjL9IeowUs/maxresdefault.jpg',
                    'tracknumber': count, 'count': count, 'artist': artist
                }
            )

            if control.setting('audio_only') == 'true' and control.condVisibility('Window.IsVisible(music)'):
                i['artist'] = on_label

        control.sortmethods('tracknum', mask='%A')

        directory.add(self.list, content=self.content, infotype=self.infotype, argv=self.argv)
    def yt_playlist(self, pid):

        self.list = youtube.youtube(key=self.key).playlist(pid, limit=10)

        for item in self.list:
            item.update({'action': 'play', 'isFolder': 'False'})

        return self.list
Beispiel #5
0
def videos(link):

    if link == 'mgtow':

        if control.setting('language') == '0' and control.infoLabel(
                'System.Language') == 'Greek':
            video_list = cache.get(item_list, 12, gr_id2) + cache.get(
                item_list, 12, gr_id3) + cache.get(
                    youtube.youtube(key=key).playlist, 12, gr_id1)
        elif control.setting('language') == '0' and control.infoLabel(
                'System.Language') != 'Greek' or control.setting(
                    'language') == '1':
            video_list = cache.get(item_list, 12, en_id1) + cache.get(
                item_list, 12, en_id2)
        else:
            video_list = cache.get(item_list, 12, gr_id2) + cache.get(
                item_list, 12, gr_id3) + cache.get(
                    youtube.youtube(key=key).playlist, 12, gr_id1)

    else:

        video_list = cache.get(item_list, 12, link)

    for v in video_list:
        v.update({'action': 'play', 'isFolder': 'False'})

    for item in video_list:
        bookmark = dict((k, v) for k, v in item.iteritems() if not k == 'next')
        bookmark['bookmark'] = item['url']
        bm_cm = {
            'title': 30006,
            'query': {
                'action': 'addBookmark',
                'url': json.dumps(bookmark)
            }
        }
        refresh = {'title': 30008, 'query': {'action': 'refresh'}}
        cache_clear = {'title': 30005, 'query': {'action': 'cache_clear'}}
        item.update({'cm': [refresh, cache_clear, bm_cm]})

    directory.add(video_list, content='videos')
Beispiel #6
0
    def latest(self):

        self.list = cache.get(
            youtube.youtube(key=self.yt_key).videos, 1, self.yt_channel, False,
            2)

        if self.list is None:
            return

        self.list = [i for i in self.list if int(i['duration']) > 60]

        for i in self.list:
            i.update({'action': 'play', 'isFolder': 'False'})

        directory.add(self.list)
def yt_playlist_getter(pid):

    if 'playlist?list=' in pid:
        pid = pid.partition('list=')[2]

    yt_list = youtube.youtube(key='AIzaSyA8k1OyLGf03HBNl0byD511jr9cFWo2GR4',
                              replace_url=False).playlist(pid)

    if not yt_list:
        return

    for count, i in enumerate(yt_list, start=1):
        i.update({'action': 'play', 'isFolder': 'False', 'code': count})

    return yt_list
Beispiel #8
0
    def mgreekz_list(self, url):

        self.list = cache.get(youtube.youtube(key=thgiliwt(api_keys['api_key']), replace_url=replace_url).playlist, 12, url)

        if self.list is None:

            return

        for i in self.list:
            i.update(
                {
                    'action': 'play', 'isFolder': 'False',
                }
            )

        directory.add(self.list, content=self.content, infotype=self.infotype, argv=self.argv)
Beispiel #9
0
    def episodes(self, url):

        if self.base_link in url:
            self.list = cache.get(self.episodes_listing, 3, url)
        elif self.radio_base in url:
            self.list = cache.get(self.pod_episodes, 3, url)
        else:
            self.list = cache.get(
                youtube.youtube(key=self.yt_key).playlist, 3, url)

        if self.list is None:

            return

        for i in self.list:

            i.update({'action': 'play', 'isFolder': 'False'})

        directory.add(self.list, content='videos')
Beispiel #10
0
    def mgreekz_index(self):

        self.data = cache.get(youtube.youtube(key=thgiliwt(api_keys['api_key']), replace_url=replace_url).playlists, 48, self.mgreekz_id)

        for i in self.data:
            i.update(
                {
                    'action': 'mgreekz_list', 'fanart': control.addonmedia(
                    addonid=art_id, theme='networks', icon='mgz_fanart.jpg', media_subfolder=False
                )
                }
            )

        for item in self.data:
            bookmark = dict((k, v) for k, v in iteritems(item) if not k == 'next')
            bookmark['bookmark'] = item['url']
            bookmark_cm = {'title': 30080, 'query': {'action': 'addBookmark', 'url': json.dumps(bookmark)}}
            item.update({'cm': [bookmark_cm]})

        self.list = sorted(self.data, key=lambda k: k['title'].lower())

        directory.add(self.list, argv=self.argv)
Beispiel #11
0
    def yt_playlists(self):

        return youtube.youtube(key=self.yt_key).playlists(self.yt_channel)
Beispiel #12
0
    def yt_playlist(self, url):

        return youtube.youtube(key=self.yt_key).playlist(url)
def pseudo_live(url):

    _url = url

    if 'youtube' in url:
        url = url.rpartition('/')[2]
    elif url.endswith('fifties'):
        url = '{0}movies.php?y=7&l=&g=&p='.format(GM_BASE)
    elif url.endswith('sixties'):
        url = '{0}movies.php?y=6&l=&g=&p='.format(GM_BASE)
    elif url.endswith('seventies'):
        url = '{0}movies.php?y=5&l=&g=&p='.format(GM_BASE)
    elif url.endswith('eighties'):
        url = '{0}movies.php?y=4&l=&g=&p='.format(GM_BASE)
    else:
        url = '{0}movies.php?g=8&y=&l=&p='.format(GM_BASE)

    if 'channel' in _url:
        movie_list = tulip_youtube.youtube(key=api_keys()['api_key'],
                                           replace_url=False).videos(url,
                                                                     limit=10)
    elif 'playlist' in _url:
        movie_list = tulip_youtube.youtube(key=api_keys()['api_key'],
                                           replace_url=False).playlist(
                                               url, limit=10)
    else:
        movie_list = gm_indexer().listing(url, get_listing=True)

    if 'youtube' in _url:
        movie_list = [i for i in movie_list if i['duration'] >= 240]

    if not _url.endswith('kids') and 'youtube' not in _url:

        if CACHE_DEBUG:
            bl_urls = blacklister()
        else:
            bl_urls = cache.get(blacklister, 96)

        movie_list = [i for i in movie_list if i['url'] not in bl_urls]

    for i in movie_list:
        i.update({'action': 'play_skipped', 'isFolder': 'False'})

    plot = None

    if control.setting('pseudo_live_mode') == '0':

        choice = random_choice(movie_list)

        meta = {'title': choice['title'], 'image': choice['image']}

        if 'youtube' not in _url:
            if CACHE_DEBUG:
                plot = source_maker(choice['url']).get('plot')
            else:
                plot = cache.get(source_maker, 6, choice['url']).get('plot')

        if plot:
            meta.update({'plot': plot})

        player(choice['url'], meta)

    else:

        shuffle(movie_list)

        directory.add(movie_list, as_playlist=True, auto_play=True)
    def yt_videos(self):

        return youtube.youtube(key=self.key).videos(self.main_youtube_id,
                                                    limit=10)
Beispiel #15
0
    def yt_videos(self, url):

        return youtube.youtube(key=self.yt_key).videos(url)
def yt_playlist(url):
    
    return youtube.youtube(key=key).playlist(url, limit=10)
def yt_playlists():
    return youtube.youtube(key=key).playlists(channel_id())
def yt_videos():
    
    return youtube.youtube(key=key).videos(channel_id(), limit=2)
Beispiel #19
0
    def yt_videos(self):

        return youtube.youtube(key=self.yt_key).videos(self.yt_channel,
                                                       limit=2)
Beispiel #20
0
def yt_videos():

    return youtube.youtube(key=b64decode(key)).videos(cid)
Beispiel #21
0
def yt_playlists(cid):

    return youtube.youtube(key=key).playlists(cid)
Beispiel #22
0
def item_list(cid):

    return youtube.youtube(key=key).videos(cid)