def test_get_video_streams(self):
        client = YouTube()

        context = kodion.Context()

        #Live
        streams = client.get_video_streams(context, 'RqbyYOCAFJU')
        #streams = client.get_video_streams(context, 'pvEWZY3Eqsg')

        # VEVO
        #streams = client.get_video_streams(context, 'nfWlot6h_JM')

        # 60fps
        # streams = client.get_video_streams(context, '_zPm3SSj6W8')

        # 1080p ?!?
        # streams = client.get_video_streams(context, 'qfPUVz_Hpqo')

        # Restricted?
        #streams = client.get_video_streams(context, 'U4DbJWA9JEw')

        # VEVO (Restricted)
        #streams = client.get_video_streams(context, 'O-zpOMYRi0w')
        #streams = client.get_video_streams(context, 'NmugSMBh_iI')

        # VEVO Gema
        #streams = client.get_video_streams(context, 'XbiH6pQI7pU')
        pass
    def test_get_channels(self):
        client = YouTube()

        #json_data = client.get_channels('mine')
        #json_data = client.get_channels(['UCDbAn9LEzqONk__uXA6a9jQ', 'UC8i4HhaJSZhm-fu84Bl72TA'])
        json_data = client.get_channels(['UCZBxCJSGxNVsWpHP3R5YThg'])
        pass
    def test_get_video_streams(self):
        client = YouTube()

        context = kodion.Context()

        # VEVO
        streams = client.get_video_streams(context, 'nfWlot6h_JM')

        # 60fps
        # streams = client.get_video_streams(context, '_zPm3SSj6W8')

        # 1080p ?!?
        # streams = client.get_video_streams(context, 'qfPUVz_Hpqo')

        #Live
        #streams = client.get_video_streams(context, 'pvEWZY3Eqsg')

        # Restricted?
        #streams = client.get_video_streams(context, 'U4DbJWA9JEw')

        # VEVO (Restricted)
        #streams = client.get_video_streams(context, 'O-zpOMYRi0w')
        #streams = client.get_video_streams(context, 'NmugSMBh_iI')

        # VEVO Gema
        #streams = client.get_video_streams(context, 'XbiH6pQI7pU')
        pass
Example #4
0
    def test_search(self):
        client = YouTube()

        # json_data = client.search(q='batman')
        # json_data = client.search(q='batman', search_type='channel')
        json_data = client.search(q='batman', search_type='playlist')
        pass
Example #5
0
    def test_get_video_streams_vevo(self):
        client = YouTube()

        context = kodion.Context()

        # ranadom stuff
        streams = client.get_video_streams(context, 'VznAYy5yL2A')
        #streams = client.get_video_streams(context, 'FlvtHMO6XHY')
        #streams = client.get_video_streams(context, 'zyg0WUsY9HI')

        # Exception: Sign in to confirm your age
        #streams = client.get_video_streams(context, 'B3eAMGXFw1o')

        # VEVO
        #streams = client.get_video_streams(context, 'YQHsXMglC9A')
        #streams = client.get_video_streams(context, 'VHrLPs3_1Fs')
        #streams = client.get_video_streams(context, 'a3ir9HC9vYg')

        #streams = client.get_video_streams(context, 'nfWlot6h_JM')
        self.assertGreater(len(streams), 0)

        # VEVO (Restricted)
        #streams = client.get_video_streams(context, 'O-zpOMYRi0w')
        self.assertGreater(len(streams), 0)

        #streams = client.get_video_streams(context, 'NmugSMBh_iI')
        self.assertGreater(len(streams), 0)

        # VEVO Gema
        # blocked (gema)
        #streams = client.get_video_streams(context, 'XbiH6pQI7pU')
        #self.assertGreater(len(streams), 0)

        pass
 def test_my_subscriptions_tv(self):
     client = YouTube(items_per_page=5, access_token_tv=self.TEST_ACCESS_TOKEN)
     json_data_page1 = client.get_my_subscriptions(page_token=None)
     json_data_page2 = client.get_my_subscriptions(page_token=json_data_page1['next_page_token'], offset=json_data_page1['offset'])
     json_data_page3 = client.get_my_subscriptions(page_token=json_data_page2['next_page_token'], offset=json_data_page2['offset'])
     json_data_page4 = client.get_my_subscriptions(page_token=json_data_page3['next_page_token'], offset=json_data_page3['offset'])
     pass
    def test_get_video_streams_vevo(self):
        client = YouTube()

        context = kodion.Context()

        # ranadom stuff
        streams = client.get_video_streams(context, 'VznAYy5yL2A')
        #streams = client.get_video_streams(context, 'FlvtHMO6XHY')
        #streams = client.get_video_streams(context, 'zyg0WUsY9HI')

        # Exception: Sign in to confirm your age
        #streams = client.get_video_streams(context, 'B3eAMGXFw1o')

        # VEVO
        #streams = client.get_video_streams(context, 'YQHsXMglC9A')
        #streams = client.get_video_streams(context, 'VHrLPs3_1Fs')
        #streams = client.get_video_streams(context, 'a3ir9HC9vYg')

        #streams = client.get_video_streams(context, 'nfWlot6h_JM')
        self.assertGreater(len(streams), 0)

        # VEVO (Restricted)
        #streams = client.get_video_streams(context, 'O-zpOMYRi0w')
        self.assertGreater(len(streams), 0)

        #streams = client.get_video_streams(context, 'NmugSMBh_iI')
        self.assertGreater(len(streams), 0)

        # VEVO Gema
        # blocked (gema)
        #streams = client.get_video_streams(context, 'XbiH6pQI7pU')
        #self.assertGreater(len(streams), 0)

        pass
    def test_get_video_streams_restricted(self):
        client = YouTube()

        context = kodion.Context()

        streams = client.get_video_streams(context, 'oRSijEW_cDM')
        self.assertGreater(len(streams), 0)
    def test_get_streams_live_streams(self):
        client = YouTube()

        context = kodion.Context()

        # working with old addon
        streams = client.get_video_streams(context, 'Hrc4rwZ29y4')

        #Live
        # blocked
        #streams = client.get_video_streams(context, 'y1knc30OqKQ')
        #self.assertGreater(len(streams), 0)

        # blocked
        #streams = client.get_video_streams(context, '7UFbGKo21lc')
        #self.assertGreater(len(streams), 0)

        # private
        #streams = client.get_video_streams(context, 'RqbyYOCAFJU')
        #self.assertGreater(len(streams), 0)

        #streams = client.get_video_streams(context, 'P8-yDTXnXAI')
        #self.assertGreater(len(streams), 0)

        #streams = client.get_video_streams(context, 'pvEWZY3Eqsg')
        #self.assertGreater(len(streams), 0)
        pass
    def test_search(self):
        client = YouTube()

        # json_data = client.search(q='batman')
        # json_data = client.search(q='batman', search_type='channel')
        json_data = client.search(q='batman', search_type='playlist')
        pass
Example #11
0
    def test_get_channels(self):
        client = YouTube()

        #json_data = client.get_channels('mine')
        #json_data = client.get_channels(['UCDbAn9LEzqONk__uXA6a9jQ', 'UC8i4HhaJSZhm-fu84Bl72TA'])
        json_data = client.get_channels(['UCZBxCJSGxNVsWpHP3R5YThg'])
        pass
Example #12
0
    def test_get_video_streams_restricted(self):
        client = YouTube()

        context = kodion.Context()

        streams = client.get_video_streams(context, 'oRSijEW_cDM')
        self.assertGreater(len(streams), 0)
Example #13
0
    def test_get_streams_live_streams(self):
        client = YouTube()

        context = kodion.Context()

        # working with old addon
        streams = client.get_video_streams(context, 'Hrc4rwZ29y4')

        #Live
        # blocked
        #streams = client.get_video_streams(context, 'y1knc30OqKQ')
        #self.assertGreater(len(streams), 0)

        # blocked
        #streams = client.get_video_streams(context, '7UFbGKo21lc')
        #self.assertGreater(len(streams), 0)

        # private
        #streams = client.get_video_streams(context, 'RqbyYOCAFJU')
        #self.assertGreater(len(streams), 0)

        #streams = client.get_video_streams(context, 'P8-yDTXnXAI')
        #self.assertGreater(len(streams), 0)

        #streams = client.get_video_streams(context, 'pvEWZY3Eqsg')
        #self.assertGreater(len(streams), 0)
        pass
Example #14
0
    def test_get_video_streams_vevo(self):
        client = YouTube()

        context = kodion.Context()

        # FLASH?
        streams = client.get_video_streams(context, 'B3eAMGXFw1o')
        streams = client.get_video_streams(context, 'zyg0WUsY9HI')

        # VEVO
        streams = client.get_video_streams(context, 'nfWlot6h_JM')
        self.assertGreater(len(streams), 0)

        # VEVO (Restricted)
        streams = client.get_video_streams(context, 'O-zpOMYRi0w')
        self.assertGreater(len(streams), 0)

        streams = client.get_video_streams(context, 'NmugSMBh_iI')
        self.assertGreater(len(streams), 0)

        # VEVO Gema
        # blocked (gema)
        #streams = client.get_video_streams(context, 'XbiH6pQI7pU')
        #self.assertGreater(len(streams), 0)

        pass
Example #15
0
    def test_get_video_streams_mixed(self):
        client = YouTube()

        context = kodion.Context()

        # some videos
        streams = client.get_video_streams(context, 'Hp0gI8KJw20')
        self.assertGreater(len(streams), 0)

        # Couch Tomato videos won't play
        streams = client.get_video_streams(context, 'xtPPggoKZjU')
        self.assertGreater(len(streams), 0)

        streams = client.get_video_streams(context, 'OSUy2uA6fbw')
        self.assertGreater(len(streams), 0)

        streams = client.get_video_streams(context, 'niBvN80Jqkg')
        self.assertGreater(len(streams), 0)

        # 60fps
        streams = client.get_video_streams(context, '_zPm3SSj6W8')
        self.assertGreater(len(streams), 0)

        # 1080p ?!?
        streams = client.get_video_streams(context, 'qfPUVz_Hpqo')
        self.assertGreater(len(streams), 0)

        # Restricted?
        streams = client.get_video_streams(context, 'U4DbJWA9JEw')
        self.assertGreater(len(streams), 0)
        pass
Example #16
0
    def get_client(self, context):
        # set the items per page (later)
        items_per_page = context.get_settings().get_items_per_page()

        access_manager = context.get_access_manager()
        access_token = access_manager.get_access_token()
        if access_manager.is_new_login_credential(
        ) or not access_token or access_manager.is_access_token_expired():
            # reset access_token
            access_manager.update_access_token('')
            # we clear the cache, so none cached data of an old account will be displayed.
            context.get_function_cache().clear()
            # reset the client
            self._client = None
            pass

        if not self._client:
            language = context.get_settings().get_string(
                'youtube.language', 'en-US')

            # remove the old login.
            if access_manager.has_login_credentials():
                access_manager.remove_login_credentials()
                pass

            if access_manager.has_login_credentials(
            ) or access_manager.has_refresh_token():
                username, password = access_manager.get_login_credentials()
                access_token = access_manager.get_access_token()
                refresh_token = access_manager.get_refresh_token()

                # create a new access_token
                """
                if not access_token and username and password:
                    access_token, expires = YouTube(language=language).authenticate(username, password)
                    access_manager.update_access_token(access_token, expires)
                    pass
                """
                if not access_token and refresh_token:
                    access_token, expires = YouTube(
                        language=language).refresh_token(refresh_token)
                    access_manager.update_access_token(access_token, expires)
                    pass

                self._is_logged_in = access_token != ''
                self._client = YouTube(items_per_page=items_per_page,
                                       access_token=access_token,
                                       language=language)
            else:
                self._client = YouTube(items_per_page=items_per_page,
                                       language=language)
                pass
            pass

        return self._client
    def test_get_video_streams_rtmpe(self):
        client = YouTube()

        context = kodion.Context()
        #streams = client.get_video_streams(context, 'vIi57zhDl78')
        #self.assertGreater(len(streams), 0)

        # #190 - viewster video
        streams = client.get_video_streams(context, 'xq2aaB_Awno')
        self.assertGreater(len(streams), 0)

        streams = client.get_video_streams(context, 'ZCBlKMZLxZA')
        self.assertGreater(len(streams), 0)
        pass
Example #18
0
    def test_get_video_streams_rtmpe(self):
        client = YouTube()

        context = kodion.Context()
        #streams = client.get_video_streams(context, 'vIi57zhDl78')
        #self.assertGreater(len(streams), 0)

        # #190 - viewster video
        streams = client.get_video_streams(context, 'xq2aaB_Awno')
        self.assertGreater(len(streams), 0)

        streams = client.get_video_streams(context, 'ZCBlKMZLxZA')
        self.assertGreater(len(streams), 0)
        pass
    def test_get_video_streams_mixed(self):
        client = YouTube()

        context = kodion.Context()

        # some videos
        streams = client.get_video_streams(context, 'Hp0gI8KJw20')
        self.assertGreater(len(streams), 0)

        # Couch Tomato videos won't play
        streams = client.get_video_streams(context, 'xtPPggoKZjU')
        self.assertGreater(len(streams), 0)

        streams = client.get_video_streams(context, 'OSUy2uA6fbw')
        self.assertGreater(len(streams), 0)

        streams = client.get_video_streams(context, 'niBvN80Jqkg')
        self.assertGreater(len(streams), 0)

        # 60fps
        streams = client.get_video_streams(context, '_zPm3SSj6W8')
        self.assertGreater(len(streams), 0)

        # 1080p ?!?
        streams = client.get_video_streams(context, 'qfPUVz_Hpqo')
        self.assertGreater(len(streams), 0)

        # Restricted?
        streams = client.get_video_streams(context, 'U4DbJWA9JEw')
        self.assertGreater(len(streams), 0)
        pass
Example #20
0
    def test_extract_meta_info(self):
        client = YouTube()
        context = kodion.Context()

        # some via 'get_video_info'
        video_info = VideoInfo(context)
        video_streams = video_info._method_get_video_info('d5i0ZMMbkZY')
        pass
Example #21
0
    def test_get_video_streams_vevo(self):
        client = YouTube()

        context = kodion.Context()

        # FLASH?
        streams = client.get_video_streams(context, 'B3eAMGXFw1o')
        streams = client.get_video_streams(context, 'zyg0WUsY9HI')

        # VEVO
        streams = client.get_video_streams(context, 'nfWlot6h_JM')
        self.assertGreater(len(streams), 0)

        # VEVO (Restricted)
        streams = client.get_video_streams(context, 'O-zpOMYRi0w')
        self.assertGreater(len(streams), 0)

        streams = client.get_video_streams(context, 'NmugSMBh_iI')
        self.assertGreater(len(streams), 0)

        # VEVO Gema
        # blocked (gema)
        #streams = client.get_video_streams(context, 'XbiH6pQI7pU')
        #self.assertGreater(len(streams), 0)

        pass
Example #22
0
    def test_calc_next_page_token(self):
        """
        client = YouTube(config=YouTube.CONFIGS['youtube-for-kodi-14-old'], items_per_page=50)
        page_token = ''
        for i in range(0, 500):
            json_data = client.get_playlist_items('UUfwx98Wty7LhdlkxL5PZyLA', page_token=page_token)
            page_token = json_data.get('nextPageToken', '')
            if not page_token:
                break

            print '%d\t%s' % (i, page_token)
            pass
        """

        client = YouTube()
        token = client.calculate_next_page_token(2, 1)
        for i in range(2, 50):
            token = client.calculate_next_page_token(i, 50)
            print 'Page=%d token=%s' % (i, token)
            pass

        pass
Example #23
0
    def test_calc_next_page_token(self):
        """
        client = YouTube(config=YouTube.CONFIGS['youtube-for-kodi-14-old'], items_per_page=50)
        page_token = ''
        for i in range(0, 500):
            json_data = client.get_playlist_items('UUfwx98Wty7LhdlkxL5PZyLA', page_token=page_token)
            page_token = json_data.get('nextPageToken', '')
            if not page_token:
                break

            print '%d\t%s' % (i, page_token)
            pass
        """

        client = YouTube()
        token = client.calculate_next_page_token(2, 1)
        for i in range(2, 50):
            token = client.calculate_next_page_token(i, 50)
            print "Page=%d token=%s" % (i, token)
            pass

        pass
Example #24
0
 def test_my_subscriptions_tv(self):
     client = YouTube(items_per_page=5,
                      access_token_tv=self.TEST_ACCESS_TOKEN)
     json_data_page1 = client.get_my_subscriptions(page_token=None)
     json_data_page2 = client.get_my_subscriptions(
         page_token=json_data_page1['next_page_token'],
         offset=json_data_page1['offset'])
     json_data_page3 = client.get_my_subscriptions(
         page_token=json_data_page2['next_page_token'],
         offset=json_data_page2['offset'])
     json_data_page4 = client.get_my_subscriptions(
         page_token=json_data_page3['next_page_token'],
         offset=json_data_page3['offset'])
     pass
    def test_get_videos(self):
        client = YouTube()

        json_data = client.get_videos(['uhTYbtZH3Nk'])
        pass
Example #26
0
    def test_get_videos(self):
        client = YouTube()

        json_data = client.get_videos(['uhTYbtZH3Nk'])
        pass
Example #27
0
 def test_get_supported_languages(self):
     client = YouTube(language="de-DE")
     json_data = client.get_supported_languages()
     pass
Example #28
0
 def test_playlist_item_id_of_video_id(self):
     client = YouTube(language="de-DE")
     json_data = client.get_playlist_item_id_of_video_id(
         playlist_id="PL3tRBEVW0hiBMoF9ihuu-x_aQVXvFYHIH", video_id="KpjgZ8xAeLI"
     )
     pass
Example #29
0
    def test_video_category(self):
        client = YouTube(language="en-US")

        json_data = client.get_video_category("17")
        pass
Example #30
0
 def test_guide_categories(self):
     client = YouTube(language='en-US')
     json_data = client.get_guide_categories()
     pass
    def test_popular_videos(self):
        client = YouTube(language='de-DE')

        json_data = client.get_popular_videos()
        pass
    def test_false_language_id(self):
        # empty => 'en-US'
        client = YouTube(language='')
        self.assertEquals('en_US', client.get_language())
        self.assertEquals('US', client.get_country())

        # 'en','de' => 'en-US'
        client = YouTube(language='de')
        self.assertEquals('en_US', client.get_language())
        self.assertEquals('US', client.get_country())

        # 'de-DE-UTF8' => 'en-US'
        client = YouTube(language='de-DE-UTF8')
        self.assertEquals('en_US', client.get_language())
        self.assertEquals('US', client.get_country())

        # 'de-DE' => 'de-DE'
        client = YouTube(language='de-DE')
        self.assertEquals('de_DE', client.get_language())
        self.assertEquals('DE', client.get_country())
        pass
 def test_playlist_item_id_of_video_id(self):
     client = YouTube(language='de-DE')
     json_data = client.get_playlist_item_id_of_video_id(playlist_id='PL3tRBEVW0hiBMoF9ihuu-x_aQVXvFYHIH', video_id='KpjgZ8xAeLI')
     pass
 def test_guide_categories(self):
     client = YouTube(language='en-US')
     json_data = client.get_guide_categories()
     pass
    def test_get_videos(self):
        client = YouTube()

        json_data = client.get_videos(['vyD70Huufco', 'AFdezM3_m-c'])
        pass
Example #36
0
    def test_get_live_events(self):
        client = YouTube()

        json_data = client.get_live_events(event_type='live')
        pass
    def test_get_live_events(self):
        client = YouTube()

        json_data = client.get_live_events(event_type='live')
        pass
    def test_get_playlists(self):
        client = YouTube()

        json_data = client.get_playlists_of_channel(channel_id='UCDbAn9LEzqONk__uXA6a9jQ')
        pass
Example #39
0
 def test_channel_sections(self):
     client = YouTube(language='en-US')
     json_data = client.get_channel_sections(
         channel_id='UCEgdi0XIXXZ-qJOFPf4JSKw')
     pass
 def test_get_supported_regions(self):
     client = YouTube(language='de-DE')
     json_data = client.get_supported_regions()
     pass
Example #41
0
    def test_video_category(self):
        client = YouTube(language='en-US')

        json_data = client.get_video_category('17')
        pass
    def test_video_category(self):
        client = YouTube(language='en-US')

        json_data = client.get_video_category('17')
        pass
 def test_video_categories(self):
     client = YouTube(language='de-DE')
     json_data = client.get_video_categories()
     pass
Example #44
0
 def test_get_supported_languages(self):
     client = YouTube(language='de-DE')
     json_data = client.get_supported_languages()
     pass
 def test_generate_user_code(self):
     client = YouTube(language='de-DE')
     json_data = client.generate_user_code()
     pass
Example #46
0
 def test_generate_user_code(self):
     client = YouTube(language='de-DE')
     json_data = client.generate_user_code()
     pass
Example #47
0
    def test_false_language_id(self):
        # empty => 'en-US'
        client = YouTube(language="")
        self.assertEquals("en_US", client.get_language())
        self.assertEquals("US", client.get_country())

        # 'en','de' => 'en-US'
        client = YouTube(language="de")
        self.assertEquals("en_US", client.get_language())
        self.assertEquals("US", client.get_country())

        # 'de-DE-UTF8' => 'en-US'
        client = YouTube(language="de-DE-UTF8")
        self.assertEquals("en_US", client.get_language())
        self.assertEquals("US", client.get_country())

        # 'de-DE' => 'de-DE'
        client = YouTube(language="de-DE")
        self.assertEquals("de_DE", client.get_language())
        self.assertEquals("DE", client.get_country())
        pass
 def test_channel_sections(self):
     client = YouTube(language='en-US')
     json_data = client.get_channel_sections(channel_id='UCEgdi0XIXXZ-qJOFPf4JSKw')
     pass
Example #49
0
    def test_get_playlists(self):
        client = YouTube()

        json_data = client.get_playlists_of_channel(
            channel_id='UCDbAn9LEzqONk__uXA6a9jQ')
        pass
Example #50
0
    def test_popular_videos(self):
        client = YouTube(language='de-DE')

        json_data = client.get_popular_videos()
        pass
Example #51
0
    def test_get_related_videos(self):
        client = YouTube()

        json_data = client.get_related_videos(video_id='dbgPETJ-J9E')
        pass
Example #52
0
 def test_video_categories(self):
     client = YouTube(language='de-DE')
     json_data = client.get_video_categories()
     pass
    def test_get_channel_by_username(self):
        client = YouTube()

        json_data = client.get_channel_by_username(username='******')
        pass
    def test_get_related_videos(self):
        client = YouTube()

        json_data = client.get_related_videos(video_id='dbgPETJ-J9E')
        pass
Example #55
0
    def test_get_channel_by_username(self):
        client = YouTube()

        json_data = client.get_channel_by_username(username='******')
        pass
Example #56
0
    def test_false_language_id(self):
        # empty => 'en-US'
        client = YouTube(language='')
        self.assertEquals('en_US', client.get_language())
        self.assertEquals('US', client.get_country())

        # 'en','de' => 'en-US'
        client = YouTube(language='de')
        self.assertEquals('en_US', client.get_language())
        self.assertEquals('US', client.get_country())

        # 'de-DE-UTF8' => 'en-US'
        client = YouTube(language='de-DE-UTF8')
        self.assertEquals('en_US', client.get_language())
        self.assertEquals('US', client.get_country())

        # 'de-DE' => 'de-DE'
        client = YouTube(language='de-DE')
        self.assertEquals('de_DE', client.get_language())
        self.assertEquals('DE', client.get_country())
        pass
Example #57
0
    def test_get_playlist_items(self):
        client = YouTube()

        json_data = client.get_playlist_items(
            playlist_id='UUZBxCJSGxNVsWpHP3R5YThg')
        pass
    def test_get_playlists(self):
        client = YouTube()

        json_data = client.get_playlists('UCDbAn9LEzqONk__uXA6a9jQ')
        pass
Example #59
0
 def test_playlist_item_id_of_video_id(self):
     client = YouTube(language='de-DE')
     json_data = client.get_playlist_item_id_of_video_id(
         playlist_id='PL3tRBEVW0hiBMoF9ihuu-x_aQVXvFYHIH',
         video_id='KpjgZ8xAeLI')
     pass
    def test_get_playlist_items(self):
        client = YouTube()

        json_data = client.get_playlist_items(playlist_id='UUZBxCJSGxNVsWpHP3R5YThg')
        pass