def put(self, show_id, ep_id, rel_id, session): """ Resets a downloaded release status """ 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 try: release = series.release_by_id(rel_id, session) except NoResultFound: return {'status': 'error', 'message': 'Release with ID %s not found' % rel_id }, 424 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 if not series.release_in_episode(ep_id, rel_id): return {'status': 'error', 'message': 'Release with id %s does not belong to episode %s' % (rel_id, ep_id)}, 410 if not release.downloaded: return {'status': 'error', 'message': 'Release with id %s is not set as downloaded' % rel_id}, 500 release.downloaded = False return {}
def get(self, show_id, ep_id, rel_id, session): ''' Get episode release by show ID, episode ID and release 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 try: release = series.release_by_id(rel_id, session) except NoResultFound: return {'status': 'error', 'message': 'Release with ID %s not found' % rel_id }, 424 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 if not series.release_in_episode(ep_id, rel_id): return {'status': 'error', 'message': 'Release id %s does not belong to episode %s' % (rel_id, ep_id)}, 410 return jsonify({ 'show': show.name, 'show_id': show_id, 'episode_id': ep_id, 'release': get_release_details(release) })
def delete(self, show_id, ep_id, rel_id, session): ''' Delete episode release by show ID, episode ID and release 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 try: release = series.release_by_id(rel_id, session) except NoResultFound: return {'status': 'error', 'message': 'Release with ID %s not found' % rel_id }, 424 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 if not series.release_in_episode(ep_id, rel_id): return {'status': 'error', 'message': 'Release with id %s does not belong to episode %s' % (rel_id, ep_id)}, 410 args = delete_parser.parse_args() if args.get('delete_seen'): fire_event('forget', release.title) series.delete_release_by_id(rel_id) return {}
def put(self, show_id, ep_id, rel_id, session): """ Resets a downloaded release status """ try: series.show_by_id(show_id, session=session) except NoResultFound: raise NotFoundError('show with ID %s not found' % show_id) try: series.episode_by_id(ep_id, session) except NoResultFound: raise NotFoundError('episode with ID %s not found' % ep_id) try: release = series.release_by_id(rel_id, session) except NoResultFound: raise NotFoundError('release with ID %s not found' % rel_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)) if not series.release_in_episode(ep_id, rel_id): raise BadRequest('release id %s does not belong to episode %s' % (rel_id, ep_id)) if not release.downloaded: raise BadRequest('release with id %s is not set as downloaded' % rel_id) release.downloaded = False rsp = jsonify(release.to_dict()) rsp.headers.extend({'Series-ID': show_id, 'Episode-ID': ep_id}) return rsp
def delete(self, show_id, ep_id, rel_id, session): """ Delete episode release by show ID, episode ID and release ID """ try: series.show_by_id(show_id, session=session) except NoResultFound: raise NotFoundError('show with ID %s not found' % show_id) try: series.episode_by_id(ep_id, session) except NoResultFound: raise NotFoundError('episode with ID %s not found' % ep_id) try: release = series.release_by_id(rel_id, session) except NoResultFound: raise NotFoundError('release with ID %s not found' % rel_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)) if not series.release_in_episode(ep_id, rel_id): raise BadRequest('release id %s does not belong to episode %s' % (rel_id, ep_id)) args = delete_parser.parse_args() if args.get('forget'): fire_event('forget', release.title) series.delete_release_by_id(rel_id) return success_response( 'successfully deleted release %d from episode %d' % (rel_id, ep_id))
def put(self, show_id, ep_id, rel_id, session): """ Resets a downloaded release status """ try: series.show_by_id(show_id, session=session) except NoResultFound: raise NotFoundError('show with ID %s not found' % show_id) try: series.episode_by_id(ep_id, session) except NoResultFound: raise NotFoundError('episode with ID %s not found' % ep_id) try: release = series.release_by_id(rel_id, session) except NoResultFound: raise NotFoundError('release with ID %s not found' % rel_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)) if not series.release_in_episode(ep_id, rel_id): raise BadRequest('release id %s does not belong to episode %s' % (rel_id, ep_id)) if not release.downloaded: raise BadRequest('release with id %s is not set as downloaded' % rel_id) release.downloaded = False rsp = jsonify(release.to_dict()) rsp.headers.extend({ 'Series-ID': show_id, 'Episode-ID': ep_id }) return rsp
def get(self, show_id, ep_id, rel_id, session): """ Get episode release by show ID, episode ID and release ID """ try: series.show_by_id(show_id, session=session) except NoResultFound: raise NotFoundError('show with ID %s not found' % show_id) try: series.episode_by_id(ep_id, session) except NoResultFound: raise NotFoundError('episode with ID %s not found' % ep_id) try: release = series.release_by_id(rel_id, session) except NoResultFound: raise NotFoundError('release with ID %s not found' % rel_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)) if not series.release_in_episode(ep_id, rel_id): raise BadRequest('release id %s does not belong to episode %s' % (rel_id, ep_id)) rsp = jsonify(release.to_dict()) rsp.headers.extend({ 'Series-ID': show_id, 'Episode-ID': ep_id }) return rsp
def delete(self, show_id, ep_id, rel_id, session): ''' Delete episode release by show ID, episode ID and release 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 try: release = series.release_by_id(rel_id, session) except NoResultFound: return {'status': 'error', 'message': 'Release with ID %s not found' % rel_id }, 424 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 if not series.release_in_episode(ep_id, rel_id): return {'status': 'error', 'message': 'Release with id %s does not belong to episode %s' % (rel_id, ep_id)}, 410 series.delete_release_by_id(rel_id) return {'status': 'success', 'message': 'Successfully deleted release %s for episode %s and show %s' % (rel_id, ep_id, show_id)}
def delete(self, show_id, ep_id, rel_id, session): """ Delete episode release by show ID, episode ID and release ID """ try: series.show_by_id(show_id, session=session) except NoResultFound: raise NotFoundError('show with ID %s not found' % show_id) try: series.episode_by_id(ep_id, session) except NoResultFound: raise NotFoundError('episode with ID %s not found' % ep_id) try: release = series.release_by_id(rel_id, session) except NoResultFound: raise NotFoundError('release with ID %s not found' % rel_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)) if not series.release_in_episode(ep_id, rel_id): raise BadRequest('release id %s does not belong to episode %s' % (rel_id, ep_id)) args = delete_parser.parse_args() if args.get('forget'): fire_event('forget', release.title) series.delete_release_by_id(rel_id) return success_response('successfully deleted release %d from episode %d' % (rel_id, ep_id))