示例#1
0
 def delete(self, show_id, session):
     """ Deletes all episodes of a show"""
     try:
         show = series.show_by_id(show_id, session=session)
     except NoResultFound:
         raise NotFoundError('show with ID %s not found' % show_id)
     args = delete_parser.parse_args()
     forget = args.get('forget')
     for episode in show.episodes:
         series.remove_series_entity(show.name, episode.identifier, forget)
     return success_response('successfully removed all series %s episodes from DB' % show_id)
示例#2
0
 def on_task_output(self, task, config):
     if not config:
         return
     for entry in task.accepted:
         if 'series_name' in entry and 'series_id' in entry:
             try:
                 remove_series_entity(entry['series_name'], entry['series_id'])
                 log.info('Removed episode `%s` from series `%s` download history.' %
                          (entry['series_id'], entry['series_name']))
             except ValueError:
                 log.debug('Series (%s) or id (%s) unknown.' % (entry['series_name'], entry['series_id']))
示例#3
0
 def on_task_output(self, task, config):
     if not config:
         return
     for entry in task.accepted:
         if 'series_name' in entry and 'series_id' in entry:
             try:
                 plugin_series.remove_series_entity(entry['series_name'],
                                                    entry['series_id'])
                 log.info(
                     'Removed episode `%s` from series `%s` download history.'
                     % (entry['series_id'], entry['series_name']))
             except ValueError:
                 log.debug('Series (%s) or id (%s) unknown.' %
                           (entry['series_name'], entry['series_id']))
示例#4
0
    def delete(self, show_id, ep_id, session):
        """ Forgets episode by show ID and episode ID """
        try:
            show = series.show_by_id(show_id, session=session)
        except NoResultFound:
            raise NotFoundError('show with ID %s not found' % show_id)
        try:
            episode = series.episode_by_id(ep_id, session)
        except NoResultFound:
            raise NotFoundError('episode with ID %s not found' % ep_id)
        if not series.episode_in_show(show_id, ep_id):
            raise BadRequest('episode with id %s does not belong to show %s' % (ep_id, show_id))

        args = delete_parser.parse_args()
        series.remove_series_entity(show.name, episode.identifier, args.get('forget'))

        return success_response('successfully removed episode %s from show %s' % (ep_id, show_id))
示例#5
0
def remove(manager, options, forget=False):
    name = options.series_name
    if options.episode_id:
        for identifier in options.episode_id:
            try:
                remove_series_entity(name, identifier, forget)
            except ValueError as e:
                console(e.args[0])
            else:
                console('Removed entities(s) matching `%s` from series `%s`.' % (identifier, name.capitalize()))
    else:
        # remove whole series
        try:
            remove_series(name, forget)
        except ValueError as e:
            console(e.args[0])
        else:
            console('Removed series `%s` from database.' % name.capitalize())

    manager.config_changed()
示例#6
0
def remove(manager, options, forget=False):
    name = options.series_name
    if options.episode_id:
        for identifier in options.episode_id:
            try:
                remove_series_entity(name, identifier, forget)
            except ValueError as e:
                console(e.args[0])
            else:
                console('Removed entities(s) matching `%s` from series `%s`.' % (identifier, name.capitalize()))
    else:
        # remove whole series
        try:
            remove_series(name, forget)
        except ValueError as e:
            console(e.args[0])
        else:
            console('Removed series `%s` from database.' % name.capitalize())

    manager.config_changed()