def create_artist_submission(): # called upon submitting the new artist listing form # TODO: insert form data as a new Venue record in the db, instead # TODO: modify data to be the data object returned from db insertion form = ArtistForm(request.form, meta={'csrf': False}) if form.validate(): try: artist = Artist() form.populate_obj(artist) if (request.form['seeking_venue'] == 'True'): artist.seeking_venue = True else: artist.seeking_venue = False db.session.add(artist) db.session.commit() flash('Artist ' + artist.name + ' was successfully listed!') except: db.session.rollback() flash('An error occurred. Artist ' + artist.name + ' could not be listed.') finally: db.session.close() else: message = [] for field, err in form.errors.items(): message.append(field + ' ' + '|'.join(err)) flash('Errors ' + str(message)) # TODO: on unsuccessful db insert, flash an error instead. # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.') return render_template('pages/home.html')
def create_artist_form(): form = ArtistForm(request.form) if form.validate_on_submit(): error = False try: artist = Artist() form.populate_obj(artist) venue = request.form.get('seeking_venue') if venue == 'y': artist.seeking_venue = True else: artist.seeking_venue = False db.session.add(artist) db.session.commit() except: error = True db.session.rollback() print(sys.exc_info()) finally: db.session.close() if error: flash('An error occurred. Artist could not be listed.') else: flash('Artist was successfully listed!') return render_template('pages/home.html') else: for field, err in form.errors.items(): flash('Error: ' + field + ' ' + '|'.join(err)) return render_template('forms/new_artist.html', form=form)
def create_artist_submission(): try: new_artist = Artist( name=request.form['name'], genres=request.form['genres'], city=request.form['city'], state=request.form['state'], phone=request.form['phone'], website=request.form['website'], image_link=request.form['image_link'], facebook_link=request.form['facebook_link'], seeking_venue=request.form['seeking_venue'], seeking_description=request.form['seeking_description'], ) if (new_artist.seeking_venue == 'y'): new_artist.seeking_venue = True elif (new_artist.seeking_venue == 'n'): new_artist.seeking_venue = False Artist.insert(new_artist) flash('Artist ' + request.form['name'] + ' was successfully Created!') except SQLAlchemyError as e: flash('An error occurred. Artist ' + request.form['name'] + 'List Not Created') return render_template('pages/home.html')
def create_artist_submission(): form = ArtistForm() if form.validate_on_submit(): try: artist = Artist() artist.name = request.form['name'] artist.city = request.form['city'] artist.state = request.form['state'] artist.phone = request.form['phone'] artist.image_link = request.form['image_link'] artist.genres = request.form.getlist('genres') artist.facebook_link = request.form['facebook_link'] artist.website = request.form['website'] artist.seeking_venue = True if 'seeking_venue' in request.form else False artist.seeking_description = request.form['seeking_description'] db.session.add(artist) db.session.commit() except Exception as e: db.session.rollback() flash( 'An error occurred. Artist {} Could not be listed!, {}'.format( request.form['name'], str(e))) finally: db.session.close() flash('Artist {} was successfully listed!'.format( request.form['name'])) return redirect(url_for('artists')) return render_template('forms/new_artist.html', form=form)
def create_artist_submission(): # called upon submitting the new artist listing form # TODO: insert form data as a new Venue record in the db, instead # TODO: modify data to be the data object returned from db insertion form = ArtistForm(request.form) try: artist = Artist() artist.name = request.form.get('name') artist.city = request.form.get('city') artist.state = request.form.get('state') artist.phone = request.form.get('phone') artist.genres = form.genres.data artist.image_link = request.form.get('image_link', None) artist.facebook_link = request.form.get('facebook_link', None) artist.website = request.form.get('website', None) artist.seeking_venue = boolean_check(request.form.get('seeking_venue', None)) artist.seeking_description = request.form.get('seeking_description', False) artist.insert() # on successful db insert, flash success flash('Artist ' + request.form['name'] + ' was successfully listed!') except: flash('An error occurred. Artist ' + request.form['name'] + ' could not be listed.') # TODO: on unsuccessful db insert, flash an error instead. # e.g., flash('An error occurred. Venue ' + data.name + ' could not be listed.') return render_template('pages/home.html')
def create_artist_submission(): form = ArtistForm(request.form, meta={'csrf': False}) if form.validate(): try: print(form.seeking_venue.data) artist = Artist() form.populate_obj(artist) artist.seeking_venue = (form.seeking_venue.data == 'y') db.session.add(artist) db.session.commit() flash('Artist ' + request.form['name'] + ' was successfully listed!') return render_template('pages/home.html') except ValueError as e: print(e) db.session.rollback() flash('An error occurred. Artist could not be listed.') finally: db.session.close() else: message = [] for field, err in form.errors.items(): message.append(field + ' ' + '|'.join(err)) flash('Errors ' + str(message)) return render_template('pages/home.html')
def create_artist_submission(): # called upon submitting the new artist listing form errorFlag = False try: artist = Artist() submission = request.form artist.city = submission['city'] artist.facebook_link = submission['facebook_link'] artist.genres = submission.getlist('genres') artist.image_link = submission['image_link'] artist.name = submission['name'] artist.phone = submission['phone'] artist.seeking_description = submission['seeking_description'] artist.seeking_venue = True if 'seeking_venue' in submission else False artist.state = submission['state'] artist.website = submission['website'] db.session.add(artist) db.session.commit() except Exception as e: errorFlag = True db.session.rollback() finally: db.session.close() if not errorFlag: # on successful db insert, flash success flash('Artist ' + request.form['name'] + ' was successfully listed!') else: # on unsuccessful db insert, flash an error instead. flash('An error occurred. Artist ' + request.form['name'] + ' could not be listed.') return render_template('pages/home.html')
def create_artist_submission(): error = False try: artist = Artist() artist.name = request.form.get('name') artist.city = request.form.get('city') artist.state = request.form.get('state') artist.phone = request.form.get('phone') artist.genres = request.form.getlist('genres') artist.image_link = request.form.get('image_link') artist.facebook_link = request.form.get('facebook_link') artist.website = request.form.get('website') artist.seeking_venue = request.form.get('seeking_venue') artist.seeking_description = request.form.get('seeking_description') db.session.add(artist) db.session.commit() except: error = True db.session.rollback() print(sys.exc_info()) finally: db.session.close() if error: flash('An error occurred. Artist ' + request.form['name'] + ' could not be listed.') else: flash('Artist ' + request.form['name'] + ' was successfully listed!') return render_template('pages/home.html')
def create_artist_submission(): # called upon submitting the new artist listing form # TODO: insert form data as a new Venue record in the db, instead - DONE # TODO: modify data to be the data object returned from db insertion - DONE # TODO: on unsuccessful db insert, flash an error instead. - DONE # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.') form = ArtistForm(request.form, meta={'csrf': False}) if form.validate(): try: artist = Artist() artist.name = request.form.get('name', '') artist.city = request.form.get('city', '') artist.state = request.form.get('state', '') artist.phone = request.form.get('phone', '') artist.image_link = request.form.get('image_link', '') artist.genres = json.dumps(request.form.getlist('genres')) if (request.form.get('seeking_venue', False) == 'y'): artist.seeking_venue = True else: artist.seeking_venue = False artist.seeking_description = request.form.get('seeking_description', '') artist.website = request.form.get('website', '') artist.facebook_link = request.form.get('facebook_link', '') db.session.add(artist) db.session.commit() # on successful db insert, flash success flash('Artist ' + request.form['name'] + ' was successfully listed!') except: db.session.rollback() # on unsuccessful db insert, flash an error flash('An error occurred. Artist ' + artist.name + ' could not be listed.') finally: return render_template('pages/home.html') else: message = [] for field, err in form.errors.items(): message.append(field + ' ' + '|'.join(err)) flash('Errors ' + str(message)) return render_template('pages/home.html')
def create_artist_submission(): # called upon submitting the new artist listing form # on successful db insert, flash success error = False try: data = Artist( name=request.form["name"], phone=request.form["phone"], city=request.form["city"], state=request.form["state"], genres=request.form["genres"], image_link=request.form["image_link"], facebook_link=request.form["facebook_link"], website=request.form["website"], seeking_venue=request.form["seeking_venue"], seeking_description=request.form["seeking_description"], ) if data.seeking_venue == "y": data.seeking_venue = True else: data.seeking_venue = False db.session.add(data) db.session.commit() except: error = True db.session.rollback() print(sys.exc_info()) finally: db.session.close() if error: abort(400) flash("An error occurred. Artist " + data.name + " could not be listed.") else: flash("Artist " + request.form["name"] + " was successfully listed!") return render_template("pages/home.html")
def create_artist_submission(): form = ArtistForm(request.form) try: artist = Artist() form.populate_obj(artist) db.session.add(artist) db.session.commit() flash(' validate Thank You .') except ValueError as e: print(e) flash(' Error You input Invalidate Please Try again .') db.session.rollback() finally: db.session.close() error = False artist = Artist() if (request.form['seeking_description'] != None): artist.seeking_venue = True artist.name = request.form['name'] artist.city = request.form['city'] artist.state = request.form['state'] artist.phone = request.form['phone'] artist.genres = request.form.getlist('genres') artist.website = request.form['website'] artist.seeking_description = request.form['seeking_description'] artist.facebook_link = request.form['facebook_link'] artist.image_link = request.form['image_link'] try: db.session.add(artist) db.session.commit() except: error = True db.session.rollback() #TODO: on unsuccessful db insert, flash an error instead. flash('An error occurred. Venue ' + request.form['name'] + ' could not be listed.') finally: db.session.close() if error: error = True else: flash('Artist ' + request.form['name'] + ' was successfully listed!') return render_template('pages/home.html')
def addArtistData(): artists = Artist.query.all() # only load data if db is empty if (not len(artists)): for defaultArtist in artists_default_data: artist = Artist() artist.city = defaultArtist['city'] artist.facebook_link = defaultArtist['facebook_link'] artist.genres = defaultArtist['genres'] artist.image_link = defaultArtist['image_link'] artist.name = defaultArtist['name'] artist.phone = defaultArtist['phone'] artist.seeking_description = defaultArtist['seeking_description'] artist.seeking_venue = defaultArtist['seeking_venue'] artist.state = defaultArtist['state'] artist.website = defaultArtist['website'] db.session.add(artist) db.session.commit()
def create_artist_submission(): # called upon submitting the new artist listing form error = False try: website = '' seeking_venue = False seeking_description = '' image_link = '' if 'seeking_venue' in request.form: seeking_venue = request.form['seeking_venue'] if 'seeking_description' in request.form: seeking_description = request.form['seeking_description'] if 'website' in request.form: website = request.form['website'] if 'image_link' in request.form: image_link = request.form['image_link'] artist = Artist() artist.name = request.form['name'] artist.city = request.form['city'] artist.state = request.form['state'] artist.phone = request.form['phone'] artist.genres = ','.join(request.form.getlist('genres')) artist.facebook_link = request.form['facebook_link'] artist.image_link = image_link artist.website = website artist.seeking_venue = seeking_venue artist.seeking_description = seeking_description db.session.add(artist) db.session.commit() except Exception as e: error = True print(f'Error ==> {e}') db.session.rollback() finally: db.session.close() if error: flash('An error occurred. Artist ' + request.form['name'] + ' could not be listed.') else: flash('Artist ' + request.form['name'] +' was successfully listed!') return render_template('pages/home.html')
def create_artist_submission(): error = False try: data = request.form artist = Artist() artist.name = data['name'] genres = [] for (k, v) in data.items(multi=True): if k == 'genres': genres.append(v) artist.genres = genres artist.city = data['city'] artist.state = data['state'] artist.phone = data['phone'] artist.website = data['website'] artist.facebook_link = data['facebook_link'] artist.seeking_venue = 'seeking_venue' in data artist.seeking_description = data['seeking_description'] artist.image_link = data['image_link'] db.session.add(artist) db.session.commit() except: db.session.rollback() error = True print(sys.exc_info()) finally: db.session.close() if error: flash('ERROR: Artist ' + request.form['name'] + ' could not be listed!') else: flash('Artist ' + request.form['name'] + ' was successfully listed!') return render_template('pages/home.html')
def create_artist_submission(): try: artist = Artist(name=request.form.get('name', '')) artist.city = request.form.get('city', '') artist.state = request.form.get('state', '') artist.phone = request.form.get('phone', '') artist.image_link = request.form.get('image_link', '') artist.genres = request.form.getlist('genres') artist.facebook_link = request.form.get('facebook_link', '') artist.website = request.form.get('website_link', '') artist.seeking_venue = request.form.get('seeking_venue', 'n') == 'y' artist.seeking_description = request.form.get('seeking_description', '') db.session.add(artist) db.session.commit() flash('Artist ' + request.form['name'] + ' was successfully listed!') except: db.session.rollback() flash('An error occurred. Artist ' + request.form['name'] + ' could not be listed.') finally: db.session.close() return render_template('pages/home.html')
def create_artist_submission(): form = ArtistForm() if form.validate_on_submit(): try: artist = Artist() artist.name = form.name.data artist.city_id = get_city_id(form.city.data, form.state.data) artist.phone = form.phone.data artist.image_link = form.image.data artist.facebook_link = form.facebook.data artist.website = form.website.data artist.seeking_venue = form.isSeeking.data artist.seeking_description = form.seekingDesc.data artist.genres = form.genres.data db.session.add(artist) db.session.commit() flash('Artist ' + artist.name + ' was successfully listed!') except Exception as e: flash('An error occurred: ' + str(e)) db.session.rollback() finally: db.session.close() return redirect(url_for('artists')) return render_template('forms/new_artist.html', form=form)
def create_artist_submission(): # called upon submitting the new artist listing form # V TODO: insert form data as a new Venue record in the db, instead # V TODO: modify data to be the data object returned from db insertion form = ArtistForm(request.form, meta={'csrf': False}) if form.validate(): try: form_artist = request.form #city city_name = form_artist['city'] state_name = form_artist['state'] city_from_db = City.query.join(State).filter( City.name == city_name, State.name == state_name).all() if len(city_from_db) > 0: city_id = city_from_db[0].id else: state = State.query.filter_by(name=state_name).all()[0] new_city = City(name=city_name, state=state) db.session.add(new_city) db.session.commit() city_id = new_city.id #data new_artist = Artist( name=form_artist['name'], phone=form_artist['phone'], website=form_artist['website'], facebook_link=form_artist['facebook_link'], seeking_description=form_artist['seeking_description'], image_link=form_artist['image_link']) if 'seeking_venue' not in form_artist: new_artist.seeking_venue = False else: new_artist.seeking_venue = True new_artist.city_id = city_id genres = Genre.query.filter( Genre.name.in_(form_artist.getlist('genres'))).all() for genre in genres: new_artist.genres.append(genre) db.session.add(new_artist) db.session.commit() # on successful db insert, flash success flash('Artist ' + form_artist['name'] + ' was successfully listed!') except: db.session.rollback() print(sys.exc_info()) flash('An error occurred. Artist ' + form_artist['name'] + ' could not be listed.') finally: db.session.close() else: message = [] for field, err in form.errors.items(): message.append(field + ' ' + '|'.join(err)) flash('The Artist data is not valid. Please try again! Errors: ' + str(message)) #V TODO: on unsuccessful db insert, flash an error instead. # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.') return render_template('pages/home.html')