예제 #1
0
    def post_movie(token):
        data = request.get_json()
        new_movie = Movies(title=data['title'],
                           release_date=data['release_date'])
        new_movie.insert()

        return jsonify({'movie ': new_movie.format(), 'success': True})
    def update_movie(self, id):

        try:
            movie = Movies.query.get(id)

            if not movie:
                print(sys.exc_info())
                abort(400)
                
            title = json_data_input('title')
            release_date = json_data_input('release_date')

            movie.title = title
            movie.release_date = release_date

            updated_movie = Movies(title, release_date)

            updated_movie.update()

            return jsonify({
                "success": True,
                "message": "update successfull",
                "movie details changed to ": updated_movie.format()
            })
        except Exception:
            print(sys.exc_info())
            abort(422)

        '''
예제 #3
0
 def create_movie(jwt):
     '''
     Create an endpoint to POST a new movie,
     which will require the title and
     release date
     '''
 
     # Get the request body
     body = request.get_json()
 
     new_title = body.get('title')
     new_release_date = body.get('release_date')
 
     if ((new_title is None) or (new_release_date is None)):
         abort(422)
 
     try:
         # create the new movie
         movie = Movies(title=new_title, release_date=new_release_date)
         movie.insert()
 
         # return the new created movie if successfully created
         return jsonify({
             'success': True,
             'movie': movie.format()
         })
 
     # raise exception for any error during deleting the movie
     except:
         db.session.rollback()
         print(sys.exc_info())
         abort(404)
예제 #4
0
    def create_movie():
        try:
            required_props = [
                'title',
                'release_date'
            ]

            optional_props = [
                'actors'
            ]

            movie_data = {}
            for prop in required_props:
                movie_data[prop] = request.get_json()[prop]

            for prop in optional_props:
                if prop in request.get_json():
                    movie_data[prop] = request.get_json()[prop]

            movie_data = validate_movie(**movie_data)

            movie = Movies(**movie_data)
            movie.insert()
            response = {
                'success': True,
                'movies': [movie.format()]
            }
        except UnprocessableEntity:
            raise
        except Exception:
            print(sys.exc_info())
            raise BadRequest

        return jsonify(response)
    def post_movie(payload):
        body = request.get_json()

        if not ('title' in body and 'release_date' in body):
            abort(422)

        new_title = body.get('title', None)
        new_release_date = body.get('release_date', None)

        if new_title is None or new_release_date is None:
            abort(400)

        try:
            movie = Movies(title=new_title, release_date=new_release_date)
            if Movies.query.filter_by(title=movie.title).count():
                abort(409)
            movie.insert()

            return jsonify({
                'success': True,
                'movie': movie.format(),
                'total_movies': len(Movies.query.all())
            })

        except AttributeError:
            abort(422)
예제 #6
0
    def show_movies(token):

        try:
            data = Movies.query.all()
            movies = [Movies.format(movie) for movie in data]
            return jsonify({'success': True, 'movies': movies})
        except Exception:
            abort(404)
예제 #7
0
 def add_movies():
     try:
         data = request.get_json()
         title = data.get('title', None)
         release_date = data.get('release_date', None)
         movie = Movies(title=title, release_date=release_date)
         movie.add()
         return jsonify({'success': True, 'movies': [movie.format()]}), 200
     except:
         abort(422)
예제 #8
0
 def create_movie(payload):
     body = request.get_json()
     if "title" not in body:
         abort(422)
     try:
         new_movie = Movies(title=body["title"],
                            release_date=body["release_date"])
         new_movie.insert()
         return jsonify({'success': True, 'movie': new_movie.format()}), 200
     except BaseException:
         abort(400)
예제 #9
0
 def add_new_movie():
     try:
         if request.method == 'PUT':
             abort(405)
         else:
             body = request.get_json()
             title = body.get('title')
             release_date = body.get('release_date')
             movie = Movies(title=title, release_date=release_date)
             movie.insert()
     except Exception:
         abort(422)
     return jsonify({'success': True, 'added_movie': movie.format()})
예제 #10
0
 def create_movie(headers):
     try:
         payload = request.get_json()
         movie = Movies(title=payload['title'],
                        release_date=payload['release_date'])
         db.session.add(movie)
         db.session.commit()
         return {"success": True, "movie": movie.format()}
     except Exception as e:
         db.session.rollback()
         abort(422)
     finally:
         db.session.close()
예제 #11
0
 def post_movies(token):
     try:
         data = request.get_json()
         title = data['title']
         release_year = data['release_year']
         if not title:
             abort(400)
         if not release_year:
             abort(400)
         movie = Movies(title=title, release_year=release_year)
         movie.insert()
         return jsonify({'success': True, 'movies': movie.format()}), 200
     except Exception:
         abort(422)
예제 #12
0
    def add_movie(jwt):
        get_input = request.get_json()

        title = get_input["title"]
        release_date = get_input["release_date"]

        new_movie = Movies(title=title, release_date=release_date)
        if new_movie.title == '' or new_movie.release_date == '':
            abort(400)
        try:
            new_movie.insert()

            return jsonify({"success": True, "movie": new_movie.format()}), 201
        except Exception as e:
            print(e)
            abort(422)
예제 #13
0
 def add_movie(payload):
     error = False
     try:
         movie_to_add = Movies(title=request.json['title'],
                               release_date=request.json['release_date'])
         Movies.insert(movie_to_add)
     except Exception:
         error = True
         print(sys.exc_info())
     finally:
         if error:
             abort(422)
         else:
             return jsonify({
                 'success': True,
                 'movie': [movie_to_add.format()]
             })
예제 #14
0
파일: app.py 프로젝트: MindHatter/FSND
    def create_movies(*args, **kwargs):
        try:
            body = request.get_json()
            new_title = body.get('title')
            new_releasedate = body.get('releasedate')

            movies = Movies(title=new_title, releasedate=new_releasedate)
            movies.insert()

            return jsonify({
                "success": True,
                "message": "Movie Successfully Added!",
                "movies": movies.format()
            })

        except AttributeError:
            abort(422)
예제 #15
0
    def post_movies(token):
        try:
            body = request.get_json()

            new_title = body.get('title', None)
            new_date = body.get('release_date', None)

            movie = Movies(title=new_title, release_date=new_date)
            movie.insert()
            movie = movie.format()

            return jsonify({
                'success': True,
                'created': movie,
            })
        except:
            abort(422)
예제 #16
0
    def add_movies(jwt):

        data = request.get_json()
        if 'title' not in data:
            abort(422)
        if 'release_date' not in data:
            abort(422)

        new_title = data.get('title')
        new_release_date = data.get('release_date')

        try:
            new_movie = Movies(title=new_title, release_date=new_release_date)
            new_movie.insert()
        except:
            abort(422)

        return jsonify({'success': True, 'movie': new_movie.format()}), 200
예제 #17
0
    def submit_movies(jwt):

        body = request.get_json()

        new_name = body.get('name', None)
        new_release_date = body.get('release_date', None)

        if new_name is None or new_release_date is None:
            abort(400)

        try:
            movies = Movies(name=new_name, release_date=new_release_date)
            movies.insert()

            return jsonify({'success': True, 'movies': movies.format()}), 200

        except:
            abort(422)
예제 #18
0
    def new_movie(payload):
        body = request.get_json()
        title = body.get('title', None)
        release_date = body.get('release_date', None)

        if 'title' not in body or 'release_date' not in body:
            abort(400)
        if not title or not release_date:
            abort(422)

        movie = Movies(title=title, release_date=release_date)
        movie.insert()

        return jsonify({
            'success': True,
            'movie': movie.format(),
            'total_movies': len(Movies.query.all())
        })
예제 #19
0
    def post_movie(jwt):

        # get the json object form the request body
        body = request.get_json()
        # get the title and relased date from the body request
        title = body.get('title', None)
        relase_date = body.get('relase_date', None)

        try:
            # insert the data from request and try to insert new record in
            # database
            movie = Movies(title=title, relase_date=relase_date)

            movie.insert()

            return jsonify({"success": True, "new movie": movie.format()})

        except BaseException:
            abort(422)
예제 #20
0
    def post_movie(payload):

        form = request.get_json()

        title = form.get('title')
        release_date = form.get('release_date')

        if title is None or release_date is None:
            abort(422)

        try:
            movie = Movies(title=title, release_date=release_date).insert()

            all_movies = Movies.query.all()
            movies = [movie.format() for movie in all_movies]

            return jsonify({'success': True, 'movies': movies}), (200)
        except Exception:
            abort(422)
예제 #21
0
    def post_movie(jwt):

        data = request.get_json()
        title = data.get('title', None)
        release_date = data.get('release_date', None)

        if title is None or release_date is None:
            abort(400)

        movie = Movies(title=title, release_date=release_date)

        try:
            movie.insert()
            return jsonify({
                'success': True,
                'movie': movie.format()
            }), 201
        except Exception:
            abort(500)
예제 #22
0
    def create_movies(payload):
        req = request.get_json()
        new_title = req.get('title')
        new_release_date = req.get('release_date')

        try:
            new_movie = Movies(title=new_title, release_date=new_release_date)
            new_movie.insert()

            return jsonify({
                'success': True,
                'new_movie': [new_movie.format()]
            }), 200

        except BaseException:
            abort(405)

        finally:
            db.session.close()
예제 #23
0
    def add_movie(token):

        try:
            body = request.get_json()
            print(body)
            new_title = body.get('title')
            print(new_title)
            new_release_date = body.get('release_date')
            print(new_release_date)

            movie = Movies(title=new_title, release_date=new_release_date)
            Movies.insert(movie)

            return jsonify({
                'success': True,
                'movie_added': Movies.format(movie)
            })

        except Exception:
            abort(422)
예제 #24
0
    def add_movie(jwt):
        '''
        POST endpoint to craete new movie which require the movie title, release year and main cator
        it require the 'post:movie' permission
        '''
        body = request.get_json()
        title = body.get('title')
        release = body.get('release')
        actor = body.get('actor')

        if (title == ''):
            abort(422)

        try:
            movie = Movies(title=title, release=release, actor=actor)
            movie.insert()

            return jsonify({'success': True, 'created': movie.format()})

        except:
            abort(422)
예제 #25
0
 def new_movie(payload):
   body = request.get_json()
   
   # if no form data
   if body is None:
     abort(404)
     
   title = body.get('title', None)
   release_date = body.get('release_date', None)
   
   try:
     movie = Movies(title=title, release_date=release_date)
     movie.insert()
     
     return jsonify({
       'success': True,
       'movie': movie.format(),
       }), 200
     
   except Exception as e:
     print(e)
     abort(422)
예제 #26
0
    def update_movie(token, movie_id):

        try:
            movie = Movies.query.get(movie_id)
            body = request.get_json()

            if 'title' in body:
                new_title = body.get('title')
                setattr(movie, 'title', new_title)
            if 'release_date' in body:
                new_release_date = body.get('release_date')
                setattr(movie, 'release_date', new_release_date)

            Movies.update(movie)
            movie_updated = Movies.query.get(movie_id)

            return jsonify({
                'success': True,
                'movie_updated': Movies.format(movie_updated)
            })
        except Exception:
            abort(404)
예제 #27
0
    def new_movie(payload):
        """
        Add a Movie here
        :param payload:
        :return:
        """
        form = request.get_json(force=True)

        if Movies.query.filter_by(title=form['title']).first() is not None:
            abort(500, "Movie '{}' already exists...".format(form['title']))

        try:
            new_movie = Movies(title=form['title'],
                               release_date=form['release_date'],
                               rating=form['rating'])

            categories = [
                Category.query.filter_by(name=category).first()
                for category in form['categories']
            ]
            actors = [
                Actors.query.filter_by(name=actor).first()
                for actor in form['actors']
            ]
            new_movie.categories = categories
            new_movie.actors = actors

            # As I am not sure how to use 'uselist', this will suffice:
            # for category in categories:
            #     new_movie.categories.append(category)
            # for actor in actors:
            #     new_movie.actors.append(actor)

            new_movie.insert()
        except Exception as e:
            abort(500, e)

        return jsonify({'movie': [new_movie.format()]})
예제 #28
0
 def get_movies(payload):
     data = Movies.query.all()
     formatted_movies = [Movies.format() for Movies in data]
     return jsonify({'Movies': formatted_movies})
예제 #29
0
 def post_movies(stuff):
     movie_title = request.json.get("title")
     movie_date = request.json.get("releaseDate")
     movie = Movies(title=movie_title, releaseDate=movie_date)
     movie.insert()
     return jsonify({'success': True, 'movies': movie.format()}), 200