Exemplo n.º 1
0
def remove(manager, options, forget=False):
    name = options.series_name

    if options.episode_id:
        # remove by id
        identifier = options.episode_id
        try:
            remove_series_episode(name, identifier, forget)
            console('Removed episode `%s` from series `%s`.' %
                    (identifier, name.capitalize()))
        except ValueError:
            # Try upper casing identifier if we fail at first
            try:
                remove_series_episode(name, identifier.upper(), forget)
                console('Removed episode `%s` from series `%s`.' %
                        (identifier, name.capitalize()))
            except ValueError as e:
                console(e.args[0])

    else:
        # remove whole series
        try:
            remove_series(name, forget)
            console('Removed series `%s` from database.' % name.capitalize())
        except ValueError as e:
            console(e.args[0])

    manager.config_changed()
Exemplo n.º 2
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:
            return {'status': 'error',
                    'message': 'Show with ID %s not found' % show_id
                    }, 404
        try:
            episode = series.episode_by_id(ep_id, session)
        except NoResultFound:
            return {'status': 'error',
                    'message': 'Episode with ID %s not found' % ep_id
                    }, 414
        if not series.episode_in_show(show_id, ep_id):
            return {'status': 'error',
                    'message': 'Episode with id %s does not belong to show %s' % (ep_id, show_id)}, 400

        args = delete_parser.parse_args()
        try:
            series.remove_series_episode(show.name, episode.identifier, args.get('forget'))
        except ValueError as e:
            return {'status': 'error',
                    'message': e.args[0]
                    }, 404
        return {}
Exemplo n.º 3
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:
            return {'status': 'error',
                    'message': 'Show with ID %s not found' % show_id
                    }, 404
        try:
            episode = series.episode_by_id(ep_id, session)
        except NoResultFound:
            return {'status': 'error',
                    'message': 'Episode with ID %s not found' % ep_id
                    }, 414
        if not series.episode_in_show(show_id, ep_id):
            return {'status': 'error',
                    'message': 'Episode with id %s does not belong to show %s' % (ep_id, show_id)}, 400

        args = delete_parser.parse_args()
        try:
            series.remove_series_episode(show.name, episode.identifier, args.get('forget'))
        except ValueError as e:
            return {'status': 'error',
                    'message': e.args[0]
                    }, 404
        return {}
Exemplo n.º 4
0
def remove(manager, options, forget=False):
    name = options.series_name

    if options.episode_id:
        # remove by id
        identifier = options.episode_id
        try:
            remove_series_episode(name, identifier, forget)
            console('Removed episode `%s` from series `%s`.' % (identifier, name.capitalize()))
        except ValueError:
            # Try upper casing identifier if we fail at first
            try:
                remove_series_episode(name, identifier.upper(), forget)
                console('Removed episode `%s` from series `%s`.' % (identifier, name.capitalize()))
            except ValueError as e:
                console(e.args[0])

    else:
        # remove whole series
        try:
            remove_series(name, forget)
            console('Removed series `%s` from database.' % name.capitalize())
        except ValueError as e:
            console(e.args[0])

    manager.config_changed()
Exemplo n.º 5
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_episode(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']))
Exemplo n.º 6
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_episode(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']))
Exemplo n.º 7
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_episode(show.name, episode.identifier, forget)
     return success_response("successfully removed all series %s episodes from DB" % show_id)
Exemplo n.º 8
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_episode(show.name, episode.identifier, forget)
     return success_response(
         'successfully removed all series %s episodes from DB' % show_id)
Exemplo n.º 9
0
 def on_task_output(self, task, config):
     if not (config and task.accepted):
         return
     for entry in task.accepted:
         if entry.get('series_name') and entry.get('series_id'):
             snm = entry['series_name']
             sid = entry['series_id']
             try:
                 self.log.info('Removing episode %s references from "%s"' %
                               (sid, snm))
                 remove_series_episode(snm, sid)
             except ValueError as e:
                 self.log.error('An error occurred: %s' % e)
Exemplo n.º 10
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_episode(show.name, episode.identifier, args.get("forget"))

        return success_response("successfully removed episode %s from show %s" % (ep_id, show_id))
Exemplo n.º 11
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_episode(show.name, episode.identifier,
                                     args.get('forget'))

        return success_response(
            'successfully removed episode %s from show %s' % (ep_id, show_id))