def get(self, id, session=None): """ Returns a movie from queue by ID """ try: movie = mq.get_movie_by_id(movie_id=id) except NoResultFound as e: return {'status': 'error', 'message': 'movie with ID {0} was not found'.format(id)}, 404 return jsonify(movie)
def put(self, id, session=None): """ Updates movie quality or downloaded state in movie queue """ data = request.json try: movie = mq.get_movie_by_id(movie_id=id) except NoResultFound: return {'status': 'error', 'message': 'movie with ID {0} was not found'.format(id)}, 404 queue_name = movie.get('queue_name') if data.get('reset_downloaded'): try: movie = mq.queue_forget(movie_id=id, queue_name=queue_name) except mq.QueueError as e: if e.errno == 1: reply = { 'status': 'error', 'message': e.message } return reply, 405 else: reply = { 'status': 'error', 'message': e.message } return reply, 404 if data.get('quality'): try: movie = mq.queue_edit(quality=data['quality'], movie_id=id, queue_name=queue_name) except mq.QueueError as e: reply = {'status': 'error', 'message': e.message} return reply, 404 if not movie: return {'status': 'error', 'message': 'Not enough parameters to edit movie data'}, 400 return jsonify(movie)