예제 #1
0
    def ended(self):
        util.log("Video ended: {}".format(self))
        if self.prompt == _PROMPT_NEVER:
            return

        do_prompt = False
        if self.prompt == _PROMPT_ALWAYS:
            do_prompt = True
        else:
            selected_videos = []
            if os.path.isfile(self.selected_path):
                fp = open(self.selected_path, 'r')
                selected_videos = json.load(fp)
                fp.close()

            # check if the just finished video is 'selected'
            if self.prompt == _PROMPT_SELECTED:
                do_prompt = self.title in selected_videos
            elif self.prompt == _PROMPT_UNSELECTED:
                do_prompt = self.title not in selected_videos

        # if configured to prompt on first watch,
        # and this isn't the first watch - don't prompt for delete
        if do_prompt and self.first_watch_only == 'true' and self.playcount != 0:
            do_prompt = False

        if do_prompt:
            do_delete = xbmcgui.Dialog().yesno(self.full_title,
                                               self.file,
                                               '',
                                               util.string(32018),
                                               autoclose=120 * 1000)
            if do_delete:
                self.delete()
예제 #2
0
 def delete(self):
     util.log("Deleting Movie: {}".format(self.title))
     params = {'movieid': self.id}
     response = util.rpc('VideoLibrary.RemoveMovie', params)
     if response.get('result') != 'OK':
         util.log("Error removing from library")
     else:
         util.delete_file(self.file)
예제 #3
0
 def __init__(self):
     util.log("video created object")
     self.title = None
     self.full_title = None
     self.prompt = None
     self.playcount = None
     self.first_watch_only = None
     self.selected_path = None
     self.file = None
예제 #4
0
 def ended(self):
     util.log("nonlibrary video ended: {}".format(self))
     self.prompt = xbmcaddon.Addon().getSetting('non-library_prompt_rule')
     if self.prompt == "1":  # Value 1 from this setting means 'always'
         self.prompt = _PROMPT_ALWAYS
     self.first_watch_only = xbmcaddon.Addon().getSetting(
         'non-library_first_watch_del')
     self.full_title = xbmcaddon.Addon().getAddonInfo('name')
     super(NonLibraryVideo, self).ended()
예제 #5
0
 def ended(self):
     util.log("Movie ended")
     params = {
         'movieid': self.id,
         'properties': ['title', 'playcount', 'file']
     }
     response = util.rpc('VideoLibrary.GetMovieDetails', params)
     result = response.get('result')
     util.log("moviedetails %s" % (response))
     moviedetails = result.get('moviedetails')
     movie_title = moviedetails.get('title')
     filename = moviedetails.get('file')
     self.title = movie_title
     self.full_title = self.title
     self.file = filename
     self.playcount = int(moviedetails.get('playcount'))
     self.prompt = xbmcaddon.Addon().getSetting('movies_prompt_rule')
     self.first_watch_only = xbmcaddon.Addon().getSetting(
         'movie_first_watch_del')
     super(Movie, self).ended()
예제 #6
0
    def ended(self):
        util.log("tvshow ended: {}".format(self))
        params = {
            'episodeid':
            self.id,
            'properties':
            ['title', 'playcount', 'file', 'tvshowid', 'resume', 'runtime']
        }
        response = util.rpc('VideoLibrary.GetEpisodeDetails', params)
        result = response.get('result')
        episodedetails = result.get('episodedetails')
        episode_title = episodedetails.get('title')
        filename = episodedetails.get('file')
        tvshowid = episodedetails.get('tvshowid')

        resume = episodedetails.get('resume')
        runtime = episodedetails.get('runtime')
        util.log("tv resume: {}   runtime: {}".format(resume, runtime))

        self.playcount = int(episodedetails.get('playcount'))

        params = {
            'tvshowid':
            tvshowid,
            'properties':
            ['title', 'sorttitle', 'originaltitle', 'playcount', 'file']
        }
        response = util.rpc('VideoLibrary.GetTVShowDetails', params)
        result = response.get('result')
        tvshowdetails = result.get('tvshowdetails')
        series_title = tvshowdetails.get('title')
        self.title = series_title
        self.full_title = series_title + ': ' + episode_title
        self.file = filename
        self.prompt = xbmcaddon.Addon().getSetting('series_prompt_rule')
        self.first_watch_only = xbmcaddon.Addon().getSetting(
            'series_first_watch_del')
        super(SeriesEpisode, self).ended()
예제 #7
0
 def delete(self):
     util.log("Deleting TV Show: {}".format(self.full_title))
     util.log("file: {}".format(self.file))
     params = {'episodeid': self.id}
     response = util.rpc('VideoLibrary.RemoveEpisode', params)
     if response.get('result') != 'OK':
         util.log("Error removing from library")
         xbmcgui.Dialog().notification("Error",
                                       "Unable to remove from library")
     else:
         util.delete_file(self.file)
예제 #8
0
            import resources.lib.history as history
            history.menu()
        elif vf == 'backlog':
            import resources.lib.backlog as backlog
            backlog.menu()
        elif vf == 'failed':
            import resources.lib.failed as failed
            failed.menu()
        elif vf == 'seasons':
            import resources.lib.seasons as seasons
            seasons.menu()
        elif vf == 'episodes':
            import resources.lib.episodes as episodes
            episodes.menu()
        else:
            util.log('invalid folder "' + vf + '"')
            import resources.lib.main as main
            main.menu()
    elif 'title' in util.pluginArgs:
        showtitle = util.pluginArgs['title']
        print showtitle
        import resources.lib.showAdd as showAdd
        showAdd.action(showtitle)
    elif 'action' in util.pluginArgs:
        action = util.pluginArgs['action']
        if action == 'showAdd':
            import resources.lib.showAdd as showAdd
            showAdd.action()
        else:
            util.log('invalid action "' + action + '"')
예제 #9
0
 def delete(self):
     util.log("video delete")
예제 #10
0
 def delete(self):
     util.log("nonlibrary delete: {}".format(self.file))
     util.delete_file(self.file)
예제 #11
0
 def __init__(self, filename, playcount):
     util.log("nonlibrary started: {} playcount: {}".format(
         filename, playcount))
     super(NonLibraryVideo, self).__init__()
     self.file = filename
     self.playcount = playcount