Пример #1
0
    def _addLink(self, itemInfo):
        ok = True

        # paramsAddons = {}
        # paramsAddons[self.PARAM_LISTTYPE] = VALUE_LIST_VIDEO
        # paramsAddons[self.PARAM_URL] = dirInfo["url"]
        if itemInfo["url_image"] != None:
            icon = url_join(self.BASE_URL, itemInfo["url_image"])
        else:
            icon = "DefaultVideo.png"

        liz = xbmcgui.ListItem(
            label=itemInfo["title"], label2=itemInfo["create_date"], iconImage=icon, thumbnailImage=icon
        )
        liz.setInfo(
            type="Video",
            infoLabels={
                "title": itemInfo["title"],
                "plotoutline": itemInfo["create_date"],
                "plot": itemInfo["description"],
                "aired": convertStrDate(itemInfo["create_date"]),
            },
        )
        liz.setProperty("mimetype", "video/x-flv")

        url = url_join(self.BASE_URL, itemInfo["url_video"])
        if url:
            ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=liz, isFolder=False)
        return ok
Пример #2
0
    def _addLink(self, itemInfo):
        ok = True

        #paramsAddons = {}
        #paramsAddons[self.PARAM_LISTTYPE] = VALUE_LIST_VIDEO
        #paramsAddons[self.PARAM_URL] = dirInfo["url"]
        if itemInfo["url_image"] != None:
            icon = url_join(self.BASE_URL, itemInfo["url_image"])
        else:
            icon = "DefaultVideo.png"

        liz = xbmcgui.ListItem(label=itemInfo["title"],
                               label2=itemInfo["create_date"],
                               iconImage=icon,
                               thumbnailImage=icon)
        liz.setInfo(type="Video",
                    infoLabels={
                        "title": itemInfo["title"],
                        "plotoutline": itemInfo["create_date"],
                        "plot": itemInfo["description"],
                        "aired": convertStrDate(itemInfo["create_date"])
                    })
        liz.setProperty('mimetype', 'video/x-flv')

        url = url_join(self.BASE_URL, itemInfo["url_video"])
        if url:
            ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),
                                             url=url,
                                             listitem=liz,
                                             isFolder=False)
        return ok
Пример #3
0
    def createVideoList(self, rel_url):
        pageUrl = url_join(self.BASE_URL, rel_url)
        print "createVideoList"
        xbmcplugin.setPluginCategory(handle=int(sys.argv[1]), category=__language__(30001))
        # TODO: set category with the name of the blog
        # TODO: Display number of pages

        numberIter = int(__settings__.getSetting("videoperpage")) + 1
        nextPageRel_url = None

        # We are going to load numberIter web pages
        for i in range(numberIter):
            print pageUrl
            nextPageRel_url = huitartcity.getVideoList(
                pageUrl, addItemFunc=self._addLink, progressBar=None, msgFunc=None
            )
            pageUrl = url_join(self.BASE_URL, nextPageRel_url)
            if nextPageRel_url == None:
                break
        if nextPageRel_url:
            self._addDir(
                {
                    "title": "Suivant",
                    "url": nextPageRel_url,
                    "image": os.path.join(MEDIA_PATH, "next-page.png"),
                    "description": "Charge la page suivante",
                }
            )
        self._end_of_directory(True)
Пример #4
0
    def createVideoList(self, rel_url):
        pageUrl = url_join(self.BASE_URL, rel_url)
        print "createVideoList"
        xbmcplugin.setPluginCategory(handle=int(sys.argv[1]),
                                     category=__language__(30001))
        #TODO: set category with the name of the blog
        #TODO: Display number of pages

        numberIter = int(__settings__.getSetting('videoperpage')) + 1
        nextPageRel_url = None

        # We are going to load numberIter web pages
        for i in range(numberIter):
            print pageUrl
            nextPageRel_url = huitartcity.getVideoList(
                pageUrl,
                addItemFunc=self._addLink,
                progressBar=None,
                msgFunc=None)
            pageUrl = url_join(self.BASE_URL, nextPageRel_url)
            if nextPageRel_url == None:
                break
        if nextPageRel_url:
            self._addDir({
                "title": "Suivant",
                "url": nextPageRel_url,
                "image": os.path.join(MEDIA_PATH, "next-page.png"),
                "description": "Charge la page suivante"
            })
        self._end_of_directory(True)
Пример #5
0
    def create_category_page(self, page_id, ha_elenco=False, category_name=''):
        if ha_elenco:
            list_item = xbmcgui.ListItem(label='Elenco completo')
            xbmcplugin.addDirectoryItem(
                handle=self.plugin_handle,
                url=utils.url_join(
                    self.plugin_dir,
                    "?action=full_list&category=%s" % (category_name)),
                listitem=list_item,
                isFolder=True)

        pages = utils.call_service("get_page", {"page": str(page_id)})
        if pages != None:
            pages = [
                page for page in pages
                if page["layout"] in ["SMALL_CARDS", "KIDS_COLLECTIONS"]
            ]
            for page in pages:
                if page["metadata"]["label"] == "TUTTI I TITOLI":
                    continue
                list_item = xbmcgui.ListItem(
                    label=page["metadata"]["label"].lower().capitalize())
                url = utils.url_join(
                    self.plugin_dir, "?action=open_page&uri=%s" %
                    (urllib.quote_plus(page["retrieveItems"]["uri"])))
                xbmcplugin.addDirectoryItem(handle=self.plugin_handle,
                                            isFolder=True,
                                            listitem=list_item,
                                            url=url)
        xbmcplugin.endOfDirectory(handle=self.plugin_handle)
        return
Пример #6
0
    def _addDir(self, dirInfo):
        """
        Credit to ppic
        """
        # u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
        ok = True
        paramsAddons = {}

        paramsAddons[self.PARAM_LISTTYPE] = self.VALUE_LIST_VIDEO
        paramsAddons[self.PARAM_URL] = dirInfo["url"]

        if dirInfo["image"] != None:
            icon = url_join(self.BASE_URL, dirInfo["image"])
        else:
            icon = "DefaultVideo.png"

        liz = xbmcgui.ListItem(dirInfo["title"], iconImage=icon, thumbnailImage=icon)

        # Context Menu
        # if c_items :
        #    liz.addContextMenuItems( c_items, replaceItems=True )
        liz.setInfo(type="Video", infoLabels={"title": dirInfo["title"], "plot": dirInfo["description"]})

        url = self._create_param_url(paramsAddons)
        if url:
            ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=liz, isFolder=True)
        return ok
Пример #7
0
    def add_items_to_folder(self, items, title=''):
        if len(items) == 0:
            dialog_title = utils.get_local_string(30043)
            dialog_msg = utils.get_local_string(30044)
            Dialogs.show_dialog(dialog_msg, dialog_title)
            xbmcplugin.endOfDirectory(handle=self.plugin_handle)
            return False
        items = TimVisionObjects.parse_collection(items)
        movies = 0
        tvshows = 0
        episodes = 0
        seasons = 0
        for item in items:
            list_item, is_folder, url = item.get_list_item()
            xbmcplugin.addDirectoryItem(handle=self.plugin_handle,
                                        isFolder=is_folder,
                                        listitem=list_item,
                                        url=utils.url_join(
                                            self.plugin_dir, url))
            if item.mediatype == TimVisionObjects.ITEM_MOVIE:
                movies += 1
            elif item.mediatype == TimVisionObjects.ITEM_TVSHOW:
                tvshows += 1
            elif item.mediatype == TimVisionObjects.ITEM_SEASON:
                seasons += 1
            elif item.mediatype == TimVisionObjects.ITEM_EPISODE:
                episodes += 1

        if episodes > 0:
            xbmcplugin.addSortMethod(self.plugin_handle,
                                     xbmcplugin.SORT_METHOD_EPISODE)
            view_mode = VIEW_EPISODES
        else:
            xbmcplugin.addSortMethod(self.plugin_handle,
                                     xbmcplugin.SORT_METHOD_UNSORTED)
            xbmcplugin.addSortMethod(self.plugin_handle,
                                     xbmcplugin.SORT_METHOD_VIDEO_TITLE)
            xbmcplugin.addSortMethod(self.plugin_handle,
                                     xbmcplugin.SORT_METHOD_VIDEO_YEAR)
            xbmcplugin.addSortMethod(self.plugin_handle,
                                     xbmcplugin.SORT_METHOD_VIDEO_RATING)
            xbmcplugin.addSortMethod(self.plugin_handle,
                                     xbmcplugin.SORT_METHOD_VIDEO_RUNTIME)
            if movies > 0:
                view_mode = VIEW_MOVIES
            elif tvshows > 0:
                view_mode = VIEW_TVSHOWS
            elif seasons > 0:
                view_mode = VIEW_SEASONS
            else:
                view_mode = VIEW_FOLDERS
        if len(title) > 0:
            xbmcplugin.setPluginCategory(self.plugin_handle, title)

        if view_mode not in [VIEW_FOLDERS]:
            xbmcplugin.setContent(handle=self.plugin_handle, content=view_mode)
        xbmcplugin.endOfDirectory(handle=self.plugin_handle)
        self.set_custom_view(view_mode)
        return True
Пример #8
0
 def createRootDir(self):
     print "createRootDir"
     xbmcplugin.setPluginCategory(handle=int(sys.argv[1]), category=__language__(30001))
     # TODO: set category with the name of the blog
     # TODO: Display number of pages
     pageUrl = url_join(self.BASE_URL, self.URL_LIST_BLOGS)
     print pageUrl
     huitartcity.getBlogsList(pageUrl, addItemFunc=self._addDir, progressBar=None, msgFunc=None)
     self._end_of_directory(True)
Пример #9
0
 def createRootDir(self):
     print "createRootDir"
     xbmcplugin.setPluginCategory(handle=int(sys.argv[1]),
                                  category=__language__(30001))
     #TODO: set category with the name of the blog
     #TODO: Display number of pages
     pageUrl = url_join(self.BASE_URL, self.URL_LIST_BLOGS)
     print pageUrl
     huitartcity.getBlogsList(pageUrl,
                              addItemFunc=self._addDir,
                              progressBar=None,
                              msgFunc=None)
     self._end_of_directory(True)
Пример #10
0
    def create_main_page(self):
        error = False
        categories = utils.call_service("get_categories")
        if categories is None:
            error = True
        else:
            for cat in categories:
                label = cat["metadata"]["label"]
                if label in ["A NOLEGGIO", "SPORT"]:
                    continue
                list_item = xbmcgui.ListItem(label=label.lower().capitalize())
                uri = cat["actions"][0]["uri"]
                page_id = uri[6:uri.find("?")]
                xbmcplugin.addDirectoryItem(
                    handle=self.plugin_handle,
                    url=utils.url_join(
                        self.plugin_dir,
                        "?page=%s&category_id=%s" % (label, page_id)),
                    isFolder=True,
                    listitem=list_item)
        list_item = xbmcgui.ListItem(label='Preferiti')
        xbmcplugin.addDirectoryItem(handle=self.plugin_handle,
                                    url=utils.url_join(self.plugin_dir,
                                                       "?action=favourites"),
                                    isFolder=True,
                                    listitem=list_item)
        list_item = xbmcgui.ListItem(label="Cerca...")
        xbmcplugin.addDirectoryItem(handle=self.plugin_handle,
                                    url=utils.url_join(self.plugin_dir,
                                                       "?action=search"),
                                    isFolder=True,
                                    listitem=list_item)
        xbmcplugin.endOfDirectory(handle=self.plugin_handle)

        if error:
            dialog_title = utils.get_local_string(30038)
            dialog_msg = utils.get_local_string(30042)
            Dialogs.show_dialog(dialog_msg, dialog_title)
Пример #11
0
    def send_request(self, url, base_url, method="GET", data={}):
        if not url.startswith("https://"):
            url = utils.url_join(base_url, url)
        url = self.__compile_url(url)

        Logger.log_write("Sending " + method + " request to " + url,
                         Logger.LOG_TIMVISION)
        response = self.api_endpoint.get(
            url, params=data) if method == "GET" else self.api_endpoint.post(
                url, data=data)
        Logger.log_write("Status Code: " + str(response.status_code),
                         Logger.LOG_TIMVISION)
        if response.status_code == 200:
            data = response.json()
            Logger.log_write("Response: " + response.text,
                             Logger.LOG_TIMVISION)
            if isinstance(data, list):
                Logger.log_write("JSON result is an array",
                                 Logger.LOG_TIMVISION)
                data = data[0]
            if data["resultCode"] == "OK":
                return data
        return None
Пример #12
0
    def _addDir(self, dirInfo):
        """
        Credit to ppic
        """
        #u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
        ok = True
        paramsAddons = {}

        paramsAddons[self.PARAM_LISTTYPE] = self.VALUE_LIST_VIDEO
        paramsAddons[self.PARAM_URL] = dirInfo["url"]

        if dirInfo["image"] != None:
            icon = url_join(self.BASE_URL, dirInfo["image"])
        else:
            icon = "DefaultVideo.png"

        liz = xbmcgui.ListItem(dirInfo["title"],
                               iconImage=icon,
                               thumbnailImage=icon)

        #Context Menu
        #if c_items :
        #    liz.addContextMenuItems( c_items, replaceItems=True )
        liz.setInfo(type="Video",
                    infoLabels={
                        "title": dirInfo["title"],
                        "plot": dirInfo["description"]
                    })

        url = self._create_param_url(paramsAddons)
        if url:
            ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),
                                             url=url,
                                             listitem=liz,
                                             isFolder=True)
        return ok