def ExecuteCommand(self, mycgi):
        self.log(u"mycgi.ParamCount(): " + unicode(mycgi.ParamCount()), xbmc.LOGDEBUG)
        self.resumeEnabled = self.addon.getSetting(u'resume_enabled') == u'true'
        self.watchedEnabled = self.addon.getSetting(u'show_watched') == u'true'

        self.log("mycgi: " + pformat(mycgi._GetParamDict()))
 
        (forwardedIP, episodeId, playFromStart, resume, deleteResume, forceResumeUnlock, clearCache, watched, unwatched) = mycgi.Params( u'forwardedip', u'episodeId', PLAYFROMSTART, RESUME, DELETERESUME, FORCERESUMEUNLOCK, u'clearcache', u'watched', u'unwatched')
        
        self.log("unicode((forwardedIP, episodeId, playFromStart, resume, deleteResume, forceResumeUnlock, clearCache, watched, unwatched)): " + unicode((forwardedIP, episodeId, playFromStart, resume, deleteResume, forceResumeUnlock, clearCache, watched, unwatched))) 
        if self.httpManager.GetIsForwardedForIP():
             forwardedIP = self.CreateForwardedForIP(forwardedIP)
             
        if forwardedIP <> u'':
            self.httpManager.SetForwardedForIP( forwardedIP )
 
        if clearCache != u'':
         self.httpManager.ClearCache()
         return True
   
        if self.resumeEnabled:
            ResumePlayer.RESUME_FILE = os.path.join( self.dataFolder, self.GetProviderId() + u'player_resume.txt')
            ResumePlayer.RESUME_LOCK_FILE = os.path.join(self.dataFolder, self.GetProviderId() + u'player_resume_lock.txt')
            ResumePlayer.ADDON = self.addon
            
            if deleteResume:
                 ResumePlayer.delete_resume_point(deleteResume)
                 xbmc.executebuiltin(u'Container.Refresh')
                 return True
     
            if forceResumeUnlock:
                 ResumePlayer.force_release_lock()
                 return True
             
            if episodeId <> u'' and playFromStart == u'' and resume == u'':
                # Only use default if playFromStart or resume are not explicitly set
                if int(self.addon.getSetting(u'playaction')) == 0:
                    mycgi._GetParamDict()[RESUME] = u'1'
 
        if self.watchedEnabled:
            Watched.WATCHED_FILE = os.path.join( self.dataFolder, self.GetProviderId() + u'watched.txt')
            Watched.ADDON = self.addon

            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 mycgi.ParamCount() > 1:
            return self.ParseCommand(mycgi)
        else:
            return self.ShowRootMenu()
Exemple #2
0
    def ExecuteCommand(self, mycgi):
        self.log(u"mycgi.ParamCount(): " + unicode(mycgi.ParamCount()),
                 xbmc.LOGDEBUG)
        self.resumeEnabled = self.addon.getSetting(
            u'resume_enabled') == u'true'
        self.watchedEnabled = self.addon.getSetting(u'show_watched') == u'true'

        self.log("mycgi: " + pformat(mycgi._GetParamDict()))

        (forwardedIP, episodeId, playFromStart, resume, deleteResume,
         forceResumeUnlock, clearCache, watched,
         unwatched) = mycgi.Params(u'forwardedip', u'episodeId', PLAYFROMSTART,
                                   RESUME, DELETERESUME, FORCERESUMEUNLOCK,
                                   u'clearcache', u'watched', u'unwatched')

        self.log(
            "unicode((forwardedIP, episodeId, playFromStart, resume, deleteResume, forceResumeUnlock, clearCache, watched, unwatched)): "
            + unicode((forwardedIP, episodeId, playFromStart, resume,
                       deleteResume, forceResumeUnlock, clearCache, watched,
                       unwatched)))
        if self.httpManager.GetIsForwardedForIP():
            forwardedIP = self.CreateForwardedForIP(forwardedIP)

        if forwardedIP <> u'':
            self.httpManager.SetForwardedForIP(forwardedIP)

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

        if self.resumeEnabled:
            ResumePlayer.RESUME_FILE = os.path.join(
                self.dataFolder,
                self.GetProviderId() + u'player_resume.txt')
            ResumePlayer.RESUME_LOCK_FILE = os.path.join(
                self.dataFolder,
                self.GetProviderId() + u'player_resume_lock.txt')
            ResumePlayer.ADDON = self.addon

            if deleteResume:
                ResumePlayer.delete_resume_point(deleteResume)
                xbmc.executebuiltin(u'Container.Refresh')
                return True

            if forceResumeUnlock:
                ResumePlayer.force_release_lock()
                return True

            if episodeId <> u'' and playFromStart == u'' and resume == u'':
                # Only use default if playFromStart or resume are not explicitly set
                if int(self.addon.getSetting(u'playaction')) == 0:
                    mycgi._GetParamDict()[RESUME] = u'1'

        if self.watchedEnabled:
            Watched.WATCHED_FILE = os.path.join(
                self.dataFolder,
                self.GetProviderId() + u'watched.txt')
            Watched.ADDON = self.addon

            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 mycgi.ParamCount() > 1:
            return self.ParseCommand(mycgi)
        else:
            return self.ShowRootMenu()