def patch_movie(token, movie_id): movie = Movies.query.get(movie_id) if not movie: abort(404) if request.method == 'PATCH': post_data = request.get_json() if 'title' in post_data: movie.title = post_data.get('title') if 'release_date' in post_data: movie.release_date = post_data.get('release_date') if 'actors' in post_data: actors_list = post_data['actors'] # list of actors for this movie for actor_id in actors_list: actor_data = Actors.query.get(actor_id) if actor_data: movie_set = Sets(movie_id=movie.id, actor_id=actor_id) movie_set.insert() try: movie.update() return jsonify({ 'id': movie.id, 'success': True }) except SQLAlchemyError: db.session.rollback() abort(400)
def post_movie(token): post_data = request.get_json() if 'title' in post_data and 'release_date' in post_data: try: new_movie = Movies(title=post_data['title'], release_date=post_data['release_date']) if 'actors' in post_data: actors_list = post_data['actors'] for actor in actors_list: actor_id = actor['id'] actor_data = Actors.query.get(actor_id) if actor_data: movie_set = Sets(movie_id=new_movie.id, actor_id=actor_id) movie_set.insert() new_movie.insert() return jsonify({ 'id': new_movie.id, 'success': True }) except SQLAlchemyError: print(sys.exc_info()) db.session.rollback() abort(400) abort(400)
def sets_query(id): if request.method == 'GET': get_sets = session.query(Sets).filter_by(id=id).first() if not get_sets: set_error = jsonify( {"Error": "No sets with id {} found".format(id)}) set_error.error_code = 400 else: set_error = jsonify({ "id": str(get_sets.id), "lift": str(get_sets.lift), "set_ord": str(get_sets.set_ord), "set_count": str(get_sets.set_count), "rep_count": str(get_sets.rep_count), "weight": str(get_sets.weight), "warm_up": get_sets.warm_up, "notes": get_sets.notes }) return set_error elif request.method == 'DELETE': delete_set = session.query(Sets).filter_by(id=id).first() session.query(Sets).filter_by(id=id).delete() session.commit() return jsonify({ "id": str(delete_set.id), "lift": str(delete_set.lift), "set_ord": str(delete_set.set_ord), "set_count": str(delete_set.set_count), "rep_count": str(delete_set.rep_count), "weight": str(delete_set.weight), "warm_up": delete_set.warm_up, "notes": delete_set.notes }) elif request.method == 'PUT': put_set = session.query(Sets).filter_by(id=id).first() set_req = request.get_json(force=True) updated_sets = session.query(Sets) \ .filter_by(id=id).update(set_req) session.commit() return jsonify({ "id": str(put_set.id), "lift": str(put_set.lift), "set_ord": str(put_set.set_ord), "set_count": str(put_set.set_count), "rep_count": str(put_set.rep_count), "weight": str(put_set.weight), "warm_up": put_set.warm_up, "notes": put_set.notes }) elif request.method == 'POST': post_set = session.query(Sets).first() new_set = request.get_json(force=True) set_result = Sets(lift=new_set["lift"], set_ord=new_set["set_ord"] \ , set_count=new_set["set_count"], rep_count=new_set["rep_count"] \ , weight=new_set["weight"], warm_up=new_set["warm_up"] \ , notes=new_set["notes"]) session.add(set_result) session.commit return jsonify({ "id": str(set_result.id), "lift": str(set_result.lift), "set_ord": str(set_result.set_ord), "set_count": str(set_result.set_count), "rep_count": str(set_result.rep_count), "weight": str(set_result.weight), "warm_up": set_result.warm_up, "notes": set_result.notes })
# create db session Session = sessionmaker(db) session = Session() # connect to the PostgreSQL server print('Connecting to the PostgreSQL database...') # create leg_day = Workouts(id=1, day='2017-2-3') squats = Lifts(id=2, workout=0, warm_up=True, name="Squat", lift_ord=1, workout_ord=1) set_rep = Sets(id=3, lift=0, set_count=1, rep_count=1, weight=200, lift_ord=1) session.add(leg_day) session.add(squats) session.add(set_rep) # read workouts = session.query(Workouts) for workout in workouts: print(workout.day) swole = session.query(Lifts) for get in swole: print(get.name) huge = session.query(Sets) for makeme in huge: