Example #1
0
class FirstTests(unittest.TestCase):
    def setUp(self):
        self.xbmc = Xbmc(Xbmc.LOGERROR)
        self.xbmcplugin = Xbmcplugin(self.xbmc)
        self.xbmcgui = Xbmcgui()
        self.xbmcaddon = Xbmcaddon()

    def test_swefilmer(self):
        swe = swefilmer.Swefilmer(self.xbmc, self.xbmcplugin, self.xbmcgui,
                                  self.xbmcaddon)
        swe.get_url(swefilmer.BASE_URL)

    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)

    def test_traverse_all(self):
        dir_items = self.diritems()
        self.traverse_video = True
        goal = [int(x) for x in args]
        self.traverse(dir_items, [], goal)

    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

    def traverse(self, dir_items, stack, goal=[]):
        print '***** stack: ' + str(stack)
        i = 0
        if len(goal) > 0:
            print '***** goal: ' + str(goal)
            i = goal.pop(0) - 1
        for (handle, url, listitem, isFolder) in dir_items[i:]:
            i += 1
            params = '?' + url.split('?')[1]
            if isFolder or (self.traverse_video and url.find('plugin') == 0):
                if listitem.caption == self.xbmcaddon.Addon(
                ).getLocalizedString(30301):
                    continue
                stack.append(i)
                print '***** selecting %d: %s' % (i, listitem.caption)
                self.diritems(params)
                new_list = deepcopy(self.xbmcplugin.dir_items)
                self.traverse(new_list, stack, goal)
            else:
                continue
        if len(stack) > 0:
            stack.pop()
        return
Example #2
0
 def setUp(self):
     self.xbmc = Xbmc(Xbmc.LOGERROR)
     self.xbmcplugin = Xbmcplugin(self.xbmc)
     self.xbmcgui = Xbmcgui()
     self.xbmcaddon = Xbmcaddon()
Example #3
0
                ret = self.top_menu(self.params.get('topsel', 0))
            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()
    addon = Xbmcaddon(id='plugin.video.swefilmer')
    swe = swefilmer.Swefilmer(xbmc, xbmcplugin, xbmcgui, addon)
    navigation = Navigation(xbmc, xbmcplugin, xbmcgui, addon, swe, 'plugin',
                            '10', '?' + sys.argv[1])
    navigation.dispatch()
Example #4
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()
Example #5
0
 def setUp(self):
     self.xbmc = Xbmc(Xbmc.LOGDEBUG)
     self.xbmcplugin = Xbmcplugin(self.xbmc)
     self.xbmcgui = Xbmcgui()
     self.addon = Xbmcaddon.Addon(id='plugin.video.swefilmer')