示例#1
0
    def ParseCommand(self, mycgi):
        self.log(u"", xbmc.LOGDEBUG)

        (category, showId, episodeId, title, search, order, page, clearCache,
         watched, unwatched) = mycgi.Params(u'category', u'show', u'ep',
                                            u'title', u'search', u'order',
                                            u'page', u'clearcache', u'watched',
                                            u'unwatched')

        if watched != u'':
            Watched().setWatched(episodeId)
            xbmc.executebuiltin("Container.Refresh")
            return True

        if unwatched != u'':
            Watched().clearWatched(episodeId)
            xbmc.executebuiltin("Container.Refresh")
            return True

        if clearCache != u'':
            httpManager.ClearCache()
            return True

        if (showId <> u'' and episodeId == u''):
            return self.ShowEpisodes(showId, title)
        elif (category <> u''):
            return self.ShowCategory(category, title, order, page)
        elif (episodeId <> u''):
            (episodeNumber,
             seriesNumber) = mycgi.Params(u'episodeNumber', u'seriesNumber')
            return self.PlayVideoWithDialog(
                self.PlayEpisode, (showId, int(seriesNumber),
                                   int(episodeNumber), episodeId, title))
    def createNewListItem(self, episodeDetail):
        (infoLabels, thumbnail) = self.getInfolabelsAndLogo(episodeDetail)

        contextMenuItems = []
        if self.showWatched:
            if Watched().isWatched(episodeDetail.assetId):
                infoLabels['PlayCount'] = 1
                contextMenuItems.append(
                    (u'Mark as unwatched',
                     u"XBMC.RunPlugin(%s?unwatched=1&ep=%s)" %
                     (sys.argv[0], episodeDetail.assetId)))
            else:
                contextMenuItems.append(
                    (u'Mark as watched',
                     u"XBMC.RunPlugin(%s?watched=1&ep=%s)" %
                     (sys.argv[0], episodeDetail.assetId)))

        newListItem = xbmcgui.ListItem(infoLabels['Title'])
        newListItem.setThumbnailImage(thumbnail)
        newListItem.setInfo(u'video', infoLabels)

        if len(contextMenuItems) > 0:
            newListItem.addContextMenuItems(contextMenuItems)

        return newListItem