Exemplo n.º 1
0
def router(params_string):
    ''' This is the main router for the video plugin menu '''
    addon = xbmcaddon.Addon()
    kodi_wrapper = kodiwrapper.KodiWrapper(_ADDON_HANDLE, _ADDON_URL, addon)
    token_resolver = tokenresolver.TokenResolver(kodi_wrapper)
    stream_service = streamservice.StreamService(
        vrtplayer.VRTPlayer.VRT_BASE, vrtplayer.VRTPlayer.VRTNU_BASE_URL,
        kodi_wrapper, token_resolver)
    api_helper = vrtapihelper.VRTApiHelper(kodi_wrapper)
    vrt_player = vrtplayer.VRTPlayer(addon.getAddonInfo('path'), kodi_wrapper,
                                     stream_service, api_helper)
    params = dict(parse_qsl(params_string))
    action = params.get('action')
    if action == actions.LISTING_AZ_TVSHOWS:
        vrt_player.show_tvshow_menu_items(path=None)
    elif action == actions.LISTING_CATEGORIES:
        vrt_player.show_category_menu_items()
    elif action == actions.LISTING_LIVE:
        vrt_player.show_livestream_items()
    elif action == actions.LISTING_EPISODES:
        vrt_player.show_episodes(params.get('video_url'))
    elif action == actions.LISTING_CATEGORY_TVSHOWS:
        vrt_player.show_tvshow_menu_items(path=params.get('video_url'))
    elif action == actions.LISTING_TVGUIDE:
        tv_guide = tvguide.TVGuide(addon.getAddonInfo('path'), kodi_wrapper)
        tv_guide.show_tvguide(params)
    elif action == actions.PLAY:
        video = dict(
            video_url=params.get('video_url'),
            video_id=params.get('video_id'),
            publication_id=params.get('publication_id'),
        )
        vrt_player.play(video)
    else:
        vrt_player.show_main_menu_items()
Exemplo n.º 2
0
 def test_get_api_data_multiple_seasons(self):
     mock = MagicMock()
     mock.get_localized_string.return_value = 'vrttest'
     api_helper = vrtapihelper.VRTApiHelper(mock)
     title_items, sort = api_helper.get_episode_items(
         '/vrtnu/a-z/thuis.relevant/')
     self.assertTrue(len(title_items) < 5)
Exemplo n.º 3
0
 def test_get_api_data_specific_season_without_broadcastdate(self):
     mock = MagicMock()
     mock.get_localized_string.return_value = 'vrttest'
     api_helper = vrtapihelper.VRTApiHelper(mock)
     title_items, sort = api_helper.get_episode_items(
         '/vrtnu/a-z/postbus-x.relevant/')
     self.assertTrue(len(title_items) == 3)
Exemplo n.º 4
0
 def test_get_api_data_single_season(self):
     mock = MagicMock()
     mock.get_localized_string.return_value = 'vrttest'
     api_helper = vrtapihelper.VRTApiHelper(mock)
     title_items, sort = api_helper.get_episode_items(
         '/vrtnu/a-z/piet-piraat.relevant/')
     self.assertEqual(7, len(title_items))
 def test_show_videos_specific_seasons_shows_videos(self):
     player = vrtplayer.VRTPlayer(
         None, self._kodi_wrapper, None,
         vrtapihelper.VRTApiHelper(self._kodi_wrapper))
     player.show_episodes(
         '/vrtnu/a-z/thuis/24.lists.all-episodes.relevant/')
     self.assertTrue(self._kodi_wrapper.show_listing.called)
 def test_show_videos_single_season_shows_videos(self):
     player = vrtplayer.VRTPlayer(
         None, self._kodi_wrapper, None,
         vrtapihelper.VRTApiHelper(self._kodi_wrapper))
     player.show_episodes(
         '/vrtnu/a-z/apocalyps--de-eerste-wereldoorlog/1/apocalyps--de-eerste-wereldoorlog-s1a3.relevant/'
     )
     self.assertTrue(self._kodi_wrapper.show_listing.called)
 def test_show_videos_single_episode_shows_videos(self):
     player = vrtplayer.VRTPlayer(
         None, self._kodi_wrapper, None,
         vrtapihelper.VRTApiHelper(self._kodi_wrapper))
     self._kodi_wrapper.show_listing()
     player.show_episodes(
         '/vrtnu/a-z/tussen-nu-en-morgen/2018/tussen-nu-en-morgen.relevant/'
     )
     self.assertTrue(self._kodi_wrapper.show_listing.called)
 def test_show_videos_multiple_seasons_shows_videos(self):
     player = vrtplayer.VRTPlayer(
         None, self._kodi_wrapper, None,
         vrtapihelper.VRTApiHelper(self._kodi_wrapper))
     player.show_episodes('vrtnu/a-z/animal-babies.relevant/')
     self.assertTrue(self._kodi_wrapper.show_listing.called)