def test_genre_model_creation_2(self): g = Genre.Genre(2, "test genre 2") db.session.add(g) db.session.commit() e = Genre.Genre(3, "test genre") db.session.add(e) db.session.commit() result = Genre.Genre.query.all() assert (len(result) == 2)
def loadbase(): g1 = Genre("Blues") quesession.add(g1) quesession.commit() g2 = Genre("Classical") quesession.add(g2) quesession.commit() g3 = Genre("Rock") quesession.add(g3) quesession.commit() g4 = Genre("Hip-hop") quesession.add(g4) quesession.commit() g5 = Genre("Country") quesession.add(g5) quesession.commit() g6 = Genre("Funk") quesession.add(g6) quesession.commit() g7 = Genre("Pop") quesession.add(g7) quesession.commit() g8 = Genre("Reggae") quesession.add(g8) quesession.commit() g9 = Genre("RnB") quesession.add(g9) quesession.commit() # Create a test user admin_user = User('Admin', '*****@*****.**', generate_password_hash('Password*7#', method='sha256')) quesession.add(admin_user) quesession.commit()
def test_genre_model_creation_3(self): g = Genre.Genre(2, "test genre 3") db.session.add(g) db.session.commit() e = Genre.Genre(2, "duplicate") try: db.session.add(e) db.session.commit() assert (False) except Exception as e: db.session.rollback()
def post(self): """Create new genre""" # 1. get request body data = request.get_json() # 2. create genre instance/object genre = Genre(name=data['name']) # 3. add genre instance/object to db transaction db.session.add(genre) # 4. commit transaction db.session.commit() # 5. return genre as response with 201 response code return {"genre": genre.to_json()}, 201
def genre_save(request): if request.POST.get('genre_id'): genre = Genre.objects.get(id=request.POST.get('genre_id')) genre.name = request.POST.get('genre_name') genre.description = request.POST.get('genre_description') genre.save() else: genre = Genre( name=request.POST.get('genre_name'), description=request.POST.get('genre_description'), ) genre.save() return redirect('music.views.genre_detail', genre_id=genre.id)
def addGenre(): """Add a new genre to the database. Returns: If user is not signed in, redirect to login page. on GET: Page with form to add a new genre. on POST: Redirect to page showing new genre after it's created. """ if request.method == 'GET': genres = session.query(Genre).order_by('name').all() return render_template('addGenre.html', genres=genres) elif request.method == 'POST': name = request.form.get('name') user_id = login_session['user_id'] numThisGenre = session.query(Genre).filter_by(name=name).count() if numThisGenre > 0: flash('The genre you attempted to add already exists.') return redirect(request.path) genre = Genre(name=name, user_id=user_id) session.add(genre) session.commit() flash("Genre \"%s\" created." % name) return redirect(url_for('showGenre', genre_id=genre.id))
def update(self, instance, validated_data): instance.name = validated_data.get('name', instance.name) instance.popularity_99 = validated_data.get('popularity_99', instance.popularity_99) instance.imdb_score = validated_data.get('imdb_score', instance.imdb_score) instance.director = validated_data.get('director', instance.director) # update genre # print genre # print validated_data if "genre" in validated_data and isinstance(validated_data["genre"], list): instance.genre = [] for genre in validated_data['genre']: # print genre exists, obj = Genre.name_exists(genre) if exists: instance.genre.add(obj) else: serializer = GenreSerializer(data={"name": genre}) if serializer.is_valid(): obj = serializer.save() instance.genre.add(obj) else: raise exceptions.ValidationError({ "success": False, "error": { "slug_errors": [ "There is a movie with same slug so choose different name" ] } }) return instance
def create(self, validated_data): new_movie = Movie(name=validated_data['name'], director=validated_data['director'], popularity_99=validated_data['popularity_99'], imdb_score=validated_data['imdb_score']) new_movie.save() # add genre # print genre # print validated_data # print isinstance(validated_data["genre"],list) if "genre" in validated_data and isinstance(validated_data["genre"], list): for genre in validated_data['genre']: # print 'the genre is',genre exists, obj = Genre.name_exists(genre) # print obj # print exists if exists: new_movie.genre.add(obj) # print '==================================== ' serializer = GenreSerializer(data={"name": genre}) if serializer.is_valid(): obj = serializer.save() new_movie.genre.add(obj) return new_movie
def createGenre(name, isloc): with db.read_transaction: genre = Genre.nodes.get_or_none(name=name, isloc=isloc) if genre == None: with db.write_transaction: genre = Genre(name=name, isloc=isloc).save() return genre
def edit_book(book_id): user_id = user.get_id() app_user = AppUser.query.get(stormpathUserHash(user_id)) book = Book.query.get(book_id) if book in app_user.author.books: if request.method == 'GET': return render_template('edit_book.html', book=book) genres = [] for g in request.form.get('genres').split(','): genre_name = g.strip().title() if not genre_name.isspace(): genre = Genre.query.filter_by(name=genre_name).first() if not genre: genre = Genre(genre_name) db.session.add(genre) genres.append(genre) book.genres = genres book.title = request.form.get('title') book.isbn = request.form.get('isbn') book.publisher = request.form.get('publisher') book.description = request.form.get('description') db.session.add(book) db.session.commit() return redirect(url_for('author_routes.author_dashboard')) return redirect(url_for('index'))
def api_genre_insert(): new_genre = request.get_json() genre = Genre(id=new_genre['id'], name=new_genre['name']) db.session.add(genre) db.session.commit() genre_json = {"id": genre.id, "name": genre.name} return jsonify(genre_json)
def getGenres(): genres = [] for g in Genre.select(): genres.append(g.__dict__['_data']) return jsonify(genres)
def admin_dashboard_genre_add(): if request.form: genre = Genre(name=request.form.get('name')) db_session.add(genre) db_session.commit() flash('Genre successfully added') return redirect(url_for('admin_dashboard_genre')) return render_template('/admins/genre_add.html')
def genre_update_or_create(movie_id, genre_list): genres = Genre.query.filter_by(movie_id=movie_id).all() if len(genres) == 0: for genre in genre_list: genre.update({"movie_id": movie_id}) new = Genre(**genre) db.session.add(new) db.session.commit() return
def add_genre(): data = request.get_json() try: new_genre = Genre(data['name']) if('description' in data): new_genre.description = data['description'] except: abort(400) success = new_genre.insert() if(success): inserted_genre = Genre.query.filter_by(name= data['name']).all()[0].format() return jsonify({ 'success': True, 'new_genre': inserted_genre }) else: abort(500)
def create_genre_objects(data): genres_list = [] genre_objects = [] for row in data: g = row['genres'].split(',') genres_list.extend(g) genres_list = list(set(genres_list)) for genre in genres_list: genre_objects.append(Genre(name=genre)) return genre_objects
def create_genre(): data = request.get_json() new_genre = Genre(name=data['name']) session.add(new_genre) try: session.commit() except Exception as e: return e return make_response(jsonify({'genre': str(new_genre), 'status': 201}), 201)
def getGenre(id): try: genre = Genre.select().where(Genre.id == id).dicts().get() return jsonify(genre) except peewee.DoesNotExist: return jsonify({'error': 'Movie not found'})
def test_should_save_valid_genre(self): genre = Genre(name='TestGenre', description='This is a description') genre.save() all_genres = Genre.objects.all() self.assertEqual(len(all_genres), 1)