Пример #1
0
def edit_artist_submission(artist_id):
    # DONE: take values from the form submitted, and update existing
    # artist record with ID <artist_id> using the new attributes
    artist = Artists.query.get(artist_id)


    genre_exist = not (Genres.query.filter(Genres.name.ilike(\
                     request.form['genres'])).count() == 0)

    if not genre_exist:
        # adding the genre to session if entered genre is not in database
        add_genre = Genres(name=request.form['genres'].title())
        db.session.add(add_genre)

    artist.name = request.form['name']
    artist.city = request.form['city']
    artist.state = request.form['state']
    artist.phone = request.form['phone']

    try:
        db.session.commit()
    except:
        db.session.rollback()
        flash('Something went wrong')
    finally:
        db.session.close()

    return redirect(url_for('show_artist', artist_id=artist_id))
Пример #2
0
def create_venue_submission():
    # DONE: insert form data as a new Venue record in the db, instead
    # DONE: modify data to be the data object returned from db insertion

    # on successful db insert, flash success

    # DONE: on unsuccessful db insert, flash an error instead.
    # e.g., flash('An error occurred. Venue ' + data.name + ' could not be listed.')
    # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/

    area_exist = not (Areas.query.filter(
        Areas.state.ilike(request.form['state']),
        Areas.city.ilike(request.form['city'])).count() == 0)

    if not area_exist:
        # adding the area to session if entered area is not in database
        add_area = Areas(city=request.form['city'].title(),
                         state=request.form['state'].upper())
        db.session.add(add_area)


    genre_exist = not (Genres.query.filter(Genres.name.ilike(\
                       request.form['genres'])).count() == 0)

    if not genre_exist:
        # adding the genre to session if entered genre is not in database
        add_genre = Genres(name=request.form['genres'].title())
        db.session.add(add_genre)

    new_venue_area = Areas.query.filter(Areas.city.ilike(request.form['city']),\
                                Areas.state.ilike(request.form['state'])).first()

    new_venue_genre = Genres.query.filter(
        Genres.name.ilike(request.form['genres'])).all()

    error = False
    try:
        add_venue = Venues(name=request.form['name'],
                           address=request.form['address'],
                           phone=request.form['phone'],
                           facebook_link=request.form['facebook_link'],
                           genres=new_venue_genre,
                           area=new_venue_area)
        db.session.add(add_venue)
        db.session.commit()
    except:
        error = True
        db.session.rollback()
    finally:
        db.session.close()
    if error:
        flash(
            f'An error occurred. Venue {request.form["name"]} could not be listed.'
        )
    else:
        flash(f'Venue {request.form["name"]} is successfully listed')

    return render_template('pages/home.html')
Пример #3
0
def change_genres(n):
    form = AddGenres()
    form.date.data = dt.date.today()
    if request.method == "GET":
        db_sess = Session()
        genres = db_sess.query(Genres).filter(Genres.id == n).first()
        db_sess.close()
        form.title.data = genres.title
        form.text.data = genres.text
        form.date.data = genres.date

    if form.validate_on_submit():
        genres = Genres()
        genres.id = n
        genres.title = form.title.data
        text = form.text.data
        genres.text = text.replace('\n', '|')
        genres.date = form.date.data
        genres.user_id = current_user.get_id()
        db.session.merge(genres)
        db.session.commit()
        flash('News has been added')
        return redirect('/genres')

    return render_template('add_genres.html', form=form)
Пример #4
0
def create_artist_submission():
    # called upon submitting the new artist listing form
    # DONE: insert form data as a new Artist record in the db, instead
    # DONE: modify data to be the data object returned from db insertion

    genre_exist = not (Genres.query.filter(Genres.name.ilike(\
                       request.form['genres'])).count() == 0)

    if not genre_exist:
        # adding the genre to session if entered genre is not in database
        add_genre = Genres(name=request.form['genres'].title())
        db.session.add(add_genre)

    new_artist = Artists(name=request.form['name'],
                         city=request.form['city'],
                         state=request.form['state'],
                         phone=request.form['phone'],
                         facebook_link=request.form['facebook_link'])

    genres = Genres.query.filter_by(name=request.form['genres']).all()
    new_artist.genres = genres

    error = False
    try:
        db.session.add(new_artist)
        db.session.commit()
        db.session.refresh(new_artist)
    except:
        error = True
        db.session.rollback()
        flash(f'An error occurred. Artist {request.form["name"]}'\
              f'could not be listed')
    finally:
        db.session.close()

    if not error:
        flash(f'Artist {request.form["name"]} was successfully listed!')

    # on successful db insert, flash success

    # DONE: on unsuccessful db insert, flash an error instead.
    # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.')

    if error:
        return render_template('pages/home.html')
    else:
        return redirect(url_for('show_artist', artist_id=new_artist.id))
Пример #5
0
def edit_venue_submission(venue_id):
    # DONE: take values from the form submitted, and update existing
    # venue record with ID <venue_id> using the new attributes

    area_exist = not (Areas.query.filter(
        Areas.state.ilike(request.form['state']),
        Areas.city.ilike(request.form['city'])).count() == 0)

    if not area_exist:
        # adding the area to session if entered area is not in database
        add_area = Areas(city=request.form['city'].title(),
                         state=request.form['state'].upper())
        db.session.add(add_area)

    genre_exist = not (Genres.query.filter(Genres.name.ilike(\
                       request.form['genres'])).count() == 0)

    if not genre_exist:
        # adding the genre to session if entered genre is not in database
        add_genre = Genres(name=request.form['genres'].title())
        db.session.add(add_genre)

    venue = Venues.query.get(venue_id)
    venue.name = request.form['name']
    venue.address = request.form['address']
    venue.phone = request.form['phone']
    genre = Genres.query.filter_by(name=request.form['genres']).first()
    venue.genres = [genre]

    areaa = Areas.query.filter(Areas.state.ilike(request.form['state']),
                               Areas.city.ilike(request.form['city'])).first()

    venue.area = areaa
    venue.facebook_link = request.form['facebook_link']

    try:
        db.session.commit()
    except:
        db.session.rollback()
        flash('Something went wrong')
    finally:
        db.session.close()
    return redirect(url_for('show_venue', venue_id=venue_id))
def populate_data_into_db(
        itunes_result
):  # this is my list # "song" represents each search thing.
    for song in itunes_result:
        if not Genres.query.filter_by(genre=song['primaryGenreName']).first():
            # add new genre using Genres class
            new_genre = Genres(genre=song['primaryGenreName'])
            db.session.add(new_genre)
            db.session.commit()
        # if genre exists in table, check if there is a song in that genre in the Songs table
        if Songs.query.filter_by(name=song["trackName"]).first():
            continue
        else:  # add new song using Songs class
            find_id = Genres.query.filter_by(
                genre=song['primaryGenreName']).first().id
            new_song = Songs(name=song['trackName'],
                             artist=song['artistName'],
                             album=song['collectionName'],
                             genre_id=find_id)
            db.session.add(new_song)
            db.session.commit()
Пример #7
0
def add_genres():
    form = AddGenres()
    form.date.data = dt.date.today()
    if form.validate_on_submit():
        title = form.title.data
        text = form.text.data
        text = text.replace('\n', '|')
        id = current_user.get_id()
        date = form.date.data
        f = form.photo.data
        filename = secure_filename(f.filename)
        f.save(os.path.join('static', 'images', filename))
        genres = Genres(
            photo=filename,
            date=date,
            title=title,
            text=text,
            user_id=id)
        db.session.add(genres)
        db.session.commit()
        flash('Genres has been added')
    return render_template('add_genres.html', form=form)
Пример #8
0
    def post(self, request):
        name = request.POST['name']
        genre = request.POST['genre']

        Genres(name=name, genre=genre).save()
        return HttpResponseRedirect(reverse('genres_show'))