Esempio n. 1
0
 def traverse(self, dir_items, stack):
     print '***** stack: ' + str(stack)
     i = 0
     for (handle, url, listitem, isFolder) in dir_items:
         i += 1
         params = url.split('?')[1]
         if isFolder or (self.traverse_video and url.find('plugin') == 0):
             self.xbmcplugin.reset()
             swe = swefilmer.Swefilmer(self.xbmc, self.xbmcplugin,
                                       self.xbmcgui, self.xbmcaddon)
             nav = Navigation(self.xbmc, self.xbmcplugin, self.xbmcgui,
                              self.xbmcaddon, swe, 'plugin', '1',
                              '?' + params)
             if listitem.caption == nav.localize(30301):
                 continue
             stack.append(i)
             print '***** selecting %d: %s' % (i, listitem.caption)
             nav.dispatch()
             new_list = deepcopy(self.xbmcplugin.dir_items)
             self.traverse(new_list, stack)
         else:
             pass
     if len(stack) > 0:
         stack.pop()
     return
Esempio n. 2
0
 def test_navigation(self):
     swe = swefilmer.Swefilmer(self.xbmc, self.xbmcplugin, self.xbmcgui,
                               self.xbmcaddon)
     nav = navigation.Navigation(self.xbmc, self.xbmcplugin, self.xbmcgui,
                                 self.xbmcaddon, swe, 'plugin', '1', '')
     username, password = nav.get_credentials()
     swe.login(username, password)
Esempio n. 3
0
 def diritems(self, params=None):
     self.xbmcplugin.reset()
     swe = swefilmer.Swefilmer(self.xbmc, self.xbmcplugin, self.xbmcgui,
                               self.xbmcaddon)
     nav = Navigation(self.xbmc, self.xbmcplugin, self.xbmcgui,
                      self.xbmcaddon, swe, 'plugin', '1', params)
     nav.dispatch()
     return self.xbmcplugin.dir_items
Esempio n. 4
0
 def test_quality_select(self):
     swe = swefilmer.Swefilmer(self.xbmc, self.xbmcplugin, self.xbmcgui,
                               self.addon)
     nav = navigation.Navigation(self.xbmc, self.xbmcplugin, self.xbmcgui,
                                 self.addon, swe, 'plugin', '1', '')
     stream_urls = [('1080p', 'url1080p'), ('360p', 'url360p'),
                    ('720p', 'url720p')]
     self.assertEqual(nav.quality_select(stream_urls), 'url360p')
     stream_urls = [('sd', 'urlsd'), ('hd', 'urlhd')]
     self.assertEqual(nav.quality_select(stream_urls), 'urlsd')
Esempio n. 5
0
    def test_traverse_all(self):
        self.xbmcplugin.reset()
        swe = swefilmer.Swefilmer(self.xbmc, self.xbmcplugin, self.xbmcgui,
                                  self.xbmcaddon)
        nav = Navigation(self.xbmc, self.xbmcplugin, self.xbmcgui,
                         self.xbmcaddon, swe, 'plugin', '1', '')
        self.assertEquals(nav.plugin_url, 'plugin')
        self.assertEquals(nav.handle, 1)
        self.assertEquals(nav.params, {})

        # call with no parameters
        nav.dispatch()
        self.traverse_video = False
        self.traverse(self.xbmcplugin.dir_items, [])
Esempio n. 6
0
 def test_swefilmer(self):
     swe = swefilmer.Swefilmer(self.xbmc, self.xbmcplugin, self.xbmcgui,
                               self.xbmcaddon)
     swe.get_url(swefilmer.BASE_URL)
Esempio n. 7
0
                ret = self.new_menu()
            elif action == ACTION_TOP:
                ret = self.top_menu()
            elif action == ACTION_FAVORITES:
                ret = self.favorites_menu()
            elif action == ACTION_CATEGORIES:
                ret = self.categories_menu()
            elif action == ACTION_CATEGORY:
                ret = self.category_menu()
            elif action == ACTION_SEARCH:
                ret = self.search_menu()
            elif action == ACTION_VIDEO:
                ret = self.video()
            elif action == ACTION_NEXT_PAGE:
                ret = self.next_page()
        return self.xbmcplugin.endOfDirectory(self.handle, succeeded=ret,
                                              cacheToDisc=True)

# Use of standalone Navigation for testing:
# python navigation.py <params>
if __name__ == '__main__':
    from mocks import Xbmc, Xbmcplugin, Xbmcgui, Xbmcaddon
    xbmc = Xbmc(level=xbmc.LOGNOTICE)
    xbmcplugin = Xbmcplugin(xbmc)
    xbmcgui = Xbmcgui()
    xbmcaddon = Xbmcaddon()
    swe = swefilmer.Swefilmer(xbmc, xbmcplugin, xbmcgui, xbmcaddon)
    navigation = Navigation(xbmc, xbmcplugin, xbmcgui, xbmcaddon, swe,
                            'plugin', '10', '?' + sys.argv[1])
    navigation.dispatch()
Esempio n. 8
0
 def test_resolve_redirect(self):
     swe = swefilmer.Swefilmer(self.xbmc, self.xbmcplugin, self.xbmcgui,
                               self.addon)
     swe.resolve_redirect(
         'https://redirector.googlevideo.com/videoplayback?requiressl=yes&id=b70284b0b126c0ef&itag=18&source=picasa&cmo=secure_transport%3Dyes&ip=0.0.0.0&ipbits=0&expire=1438852351&sparams=requiressl,id,itag,source,ip,ipbits,expire&signature=59AFF52BE87462676F00016C3B7480816FD27770.6526DFDEB450A9D6A190A6739AF8988E5FB9FC6C&key=lh1'
     )