def edit_artist_submission(artist_id): # TODO: take values from the form submitted, and update existing # artist record with ID <artist_id> using the new attributes error = False try: Artist.query.filter_by(id=artist_id).delete() venId = artist_id venName = request.form.get('name') venCity = request.form.get('city') venPhone = request.form.get('phone') venState = request.form.get('state') venFacebookLink = request.form.get('facebook_link') ven = Artist(id=venId, name=venName, city=venCity, phone=venPhone, state=venState, facebook_link=venFacebookLink) db.session.add(ven) db.session.commit() # TODO: modify data to be the data object returned from db insertion except: error = True db.session.rollback() print(sys.exc_info()) finally: db.session.close() if error: abort(400) else: return redirect(url_for('show_artist', artist_id=artist_id))
def create_artist_submission(): form = ArtistForm(request.form) artist = Artist() form.populate_obj(artist) if not form.validate(): flash(form.errors) return render_template('pages/home.html') else: error = False try: db.session.add(artist) db.session.commit() except: print('In except') db.session.rollback() error = True finally: db.session.close() # 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 if error: flash('An error occured. Artist ' + request.form['name'] + ' cannote be listed!') else: flash('Artist ' + request.form['name'] + ' was successfully listed!') # on successful db insert, flash success # 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_submission(): form = ArtistForm(csrf_enabled=True) if form.validate_on_submit(): artist_data = dict(name=form.name.data, genres=list(form.genres.data), city=form.city.data, state=form.state.data, phone=form.phone.data, website=form.website.data, facebook_link=form.facebook_link.data, seeking_venue=form.seeking_venue.data, seek_description=form.seek_description.data, image_link=form.image_link.data) check_artist = Artist.query.filter_by(name=form.name.data).first() if check_artist: flash('Artist with that name already exists') return render_template('pages/home.html') new_artist = Artist(**artist_data) new_artist.save() flash('Artist ' + request.form['name'] + ' was successfully added!') else: errors = form.errors for key, error in errors.items(): flash(f'{key} Error ' + " => " + f"{error[0]} :(") 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 # TODO: modify data to be the data object returned from db insertion try: seeking_venue = False seeking_description = '' if 'seeking_venue' in request.form: seeking_venue = request.form['seeking_venue'] == 'y' if 'seeking_description' in request.form: seeking_description = request.form['seeking_description'] 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=seeking_venue, seeking_description=seeking_description, ) Artist.insert(new_artist) # on successful db insert, flash success flash('Artist ' + request.form['name'] + ' was successfully listed!') except app as e: # TODO: on unsuccessful db insert, flash an error instead. # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.') flash('An error occurred. Artist ' + request.form['name'] + 'could not be listed. ') return render_template('pages/home.html')
def create_artist_submission(): try: seeking_venue = False seeking_description = '' if 'seeking_venue' in request.form: seeking_venue = request.form['seeking_venue'] == 'y' if 'seeking_description' in request.form: seeking_description = request.form['seeking_description'] new_artist = Artist(name=request.form['name'], genres=request.form.getlist('genres'), city=request.form['city'], state=request.form['state'], phone=request.form['phone'], website=request.form['website'], facebook_link=request.form['facebook_link'], image_link=request.form['image_link'], seeking_venue=seeking_venue, seeking_description=seeking_description) Artist.insert(new_artist) # on successful db insert, flash success flash('Artist ' + request.form['name'] + ' was successfully listed!') except SQLAlchemyError as e: flash('An error occurred. Artist ' + request.form['name'] + ' could not be listed.') return render_template('pages/home.html')
def setUp(self): Song.query.delete() Album.query.delete() Artist.query.delete() artist = Artist(name="Nick Danger", logo_url="nickdanger.jpg") db.session.add(artist) db.session.commit() db_artist = Artist.query.filter_by(name="Nick Danger").first() artist_id = db_artist.id album = Album(title="bigh", year=2019, artist_id=artist_id) db.session.add(album) db.session.commit() db_album = Album.query.filter_by(title="bigh").first() album_id = db_album.id song_1 = Song(title="Eessennet", artist_id=artist_id, album_id=album_id) song_2 = Song(title="bigh", artist_id=artist_id, album_id=album_id) db.session.add(song_1) db.session.add(song_2) db.session.commit() self.song_1 = song_1 self.song_2 = song_2 self.client = app.test_client()
def create_artist_submission(): form = ArtistForm() error = False try: artist = Artist() artist.name = request.form['name'] artist.city = request.form['city'] artist.state = request.form['state'] artist.phone = request.form['phone'] tmp_genres = request.form.getlist('genres') artist.genres = ','.join(tmp_genres) artist.website = request.form['website'] artist.image_link = request.form['image_link'] artist.facebook_link = request.form['facebook_link'] artist.seeking_description = request.form['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 # TODO: modify data to be the data object returned from db insertion try: form = ArtistForm() artist = Artist( name=form.name.data, city=form.city.data, state=form.state.data, phone=form.phone.data, genres=form.genres.data, facebook_link=form.facebook_link.data, image_link=form.image_link.data, website_link=form.website_link.data, seeking_venue=form.seeking_venue.data, seeking_description=form.seeking_description.data ) 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() # TODO: on unsuccessful db insert, flash an error instead. flash('An error occurred. Artist ' + request.form['name'] + ' could not be listed. Bummer dude') print(sys.exc_info()) 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 # TODO(?): modify data to be the data object returned from db insertion error = False try: formdata = { k: v[0] if k != "genres" else v for k, v in request.form.lists() } formdata["seeking_venue"] = True if formdata[ "seeking_venue"] == "y" else False artist = Artist(**formdata) db.session.add(artist) db.session.commit() except Exception: error = True db.session.rollback() print(sys.exc_info()) finally: db.session.close() if not error: # on successful db insert, flash success flash("Artist " + request.form["name"] + " was successfully listed!") else: # TODO: on unsuccessful db insert, flash an error instead. # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.') flash("An error occurred. Artist " + request.form["name"] + " could not be listed.") # abort(400) return render_template("pages/home.html")
def create_artist_submission(): # called upon submitting the new artist listing form error = False form = ArtistForm() try: artist = Artist( name=form.name.data, genres=form.genres.data, city=form.city.data, state=form.state.data, phone=form.phone.data, #image_link=request.form['image_link'], facebook_link=form.facebook_link.data, upcoming_shows_count=0, past_shows_count=0 ) artist.insert() except: error = True print(sys.exc_info()) db.session.rollback() #finally: #db.session.close() if error: abort (400) flash('An error occured') else: # on successful db insert, flash success flash('Artist ' + artist.name + ' was successfully listed!') # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.') return render_template('pages/home.html')
def create_artist_submission(): # create form : form = ArtistForm(request.form) #insert object artist = Artist(name=form.name.data, city=form.city.data, state=form.state.data, phone=form.phone.data, image_link=form.image_link.data, genres=form.genres.data, facebook_link=form.facebook_link.data, seeking_venue=form.seeking_venue.data, seeking_description=form.seeking_description.data, website=form.website.data) # try to add object in data base try: db.session.add(artist) db.session.commit() flash('Artist ' + request.form['name'] + ' was successfully listed!') except: flash('Artist ' + request.form['name'] + ' could not listed!') finally: db.session.close() # 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 # on successful db insert, flash success #flash('Artist ' + request.form['name'] + ' was successfully listed!') # 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_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 error = False data = {} form = ArtistForm(request.form) try: artist = Artist() form.populate_obj(artist) db.session.add(artist) db.session.commit() data = artist except Exception: error = True db.session.rollback() print(sys.exc_info()) finally: if error: flash('An error occurred. Artist ' + request.form['name'] + ' could not be listed.') else: flash('Artist ' + data.name + ' was successfully listed!') db.session.close() # on successful db insert, flash success # TODO: on unsuccessful db insert, flash an error instead. # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.') return redirect(url_for("index"))
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: form.validate() artist = Artist( name=form.name.data, city=form.city.data, state=form.state.data.name, phone=form.phone.data, image_link=form.image_link.data, facebook_link=form.facebook_link.data, genres=[genre.name for genre in form.genres.data], website=form.website.data, seeking_venue=form.seeking_venue.data, seeking_description=form.seeking_description.data, ) db.session.add(artist) db.session.commit() # on successful db insert, flash success flash('Artist ' + form.name.data + ' was successfully listed!') # TODO: on unsuccessful db insert, flash an error instead. # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.') except Exception as e: print(e) db.session.rollback() flash('An error occurred. Artist ' + form.name.data + ' could not be 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 # TODO: modify data to be the data object returned from db insertion error = False try: venName = request.form.get('name') venCity = request.form.get('city') venPhone = request.form.get('phone') venState = request.form.get('state') venFacebookLink = request.form.get('facebook_link') ven = Artist(name=venName, city=venCity, phone=venPhone, state=venState, facebook_link=venFacebookLink) db.session.add(ven) db.session.commit() # TODO: modify data to be the data object returned from db insertion except: error = True db.session.rollback() print(sys.exc_info()) # on successful db insert, flash success # db.flash('Venue ' + request.form['name'] + ' was successfully listed!') # TODO: on unsuccessful db insert, flash an error instead. finally: db.session.close() if error: abort(400) else: return render_template('pages/home.html')
def create_artist_submission(): name = request.form.get('name') city = request.form.get('city') state = request.form.get('state') phone = request.form.get('phone') genres = request.form.get('genres') facebook_link = request.form.get('facebook_link') new_artist = Artist(name=name, city=city, state=state, phone=phone, genres=genres, image_link='www.imagelink.com' + request.form.get('name'), facebook_link=facebook_link ) try: db.session.add(new_artist) db.session.commit() flash('Artist ' + name + ' was successfully listed!') except: # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/ flash('An error occurred. Artist ' + name + ' could not be listed.') finally: return render_template('pages/home.html')
def create_artist_submission(): # called upon submitting the new artist listing form try: # add data from form to venue object artist = Artist( name=request.form.get('name'), city=request.form.get('city'), state=request.form.get('state'), phone=request.form.get('phone'), genres=request.form.getlist('genres'), image_link=request.form.get('image_link'), facebook_link=request.form.get('facebook_link'), website=request.form.get('website'), seeking_venue=True if 'seeking_venue' in request.form else False, seeking_description=request.form.get('seeking_description')) db.session.add(artist) db.session.commit() flash('Artist ' + request.form['name'] + ' was successfully listed!' ) # on successful db insert, flash success except ValueError as e: print(e) # on unsuccessful db insert, flash an error instead. flash('Artist ' + request.form['name'] + ' was not listed!') db.session.rollback() finally: db.session.close() return render_template('pages/home.html')
def create_artist_submission(): # called upon submitting the new artist listing form error = False try: artist = Artist(name=request.form['name'], city=request.form['city'], state=request.form['state'], phone=request.form['phone'], genres=request.form.getlist('genres'), image_link=request.form['image_link'], seeking_venue = request.form['seeking_venue']=="True", facebook_link=request.form['facebook_link'], website=request.form['website'], ) 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.') abort(400) 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 error = False form = ArtistForm() try: create_artist = Artist( name=form.name.data, city=form.city.data, state=form.state.data, phone=form.phone.data, genres=form.genres.data, facebook_link=form.facebook_link.data, website=form.website.data, image_link=form.image_link.data, seeking_venue=form.seeking_venue.data, seeking_description=form.seeking_description.data) db.session.add(create_artist) db.session.commit() except: error = True db.session.rollback() finally: db.session.close() if error: # on error, flash error message flash( 'An error occurred. Artist ' + form.name.data + ' could not be listed.', 'error') return render_template('forms/new_artist.html', form=form) else: # on successful db insert, flash success flash('Artist ' + form.name.data + ' was successfully listed!', 'success') return redirect(url_for('artists'))
def create_artist_submission(): """ create artists submission """ try: name = request.form.get("name") genres = request.form.getlist("genres[]") city = request.form.get("city") state = request.form.get("state") phone = request.form.get("phone") website = request.form.get("website_link") image_link = request.form.get("image_link") facebook_link = request.form.get("facebook_link") seeking_venue = True if 'seeking_venue' in request.form else False seeking_description = request.form.get("seeking_description") artist = Artist( name=name, genres=genres, city=city, state=state, phone=phone, website=website, facebook_link=facebook_link, image_link=image_link, seeking_venue=seeking_venue, seeking_description=seeking_description, ) db.session.add(artist) db.session.commit() flash('Artist ' + request.form['name'] + ' was successfully listed!') except Exception as e: flash('Artist ' + request.form['name'] + ' could not be listed due to error:- ' + str(e)) return render_template('pages/home.html')
def create_artist_submission(): form = ArtistForm(request.form) error = False try: newArtist = Artist(name=form.name.data, city=form.city.data, state=form.state.data, phone=form.phone.data, genres=form.genres.data, facebook_link=form.facebook_link.data, image_link=form.image_link.data, website=form.website.data, seeking_venue=form.seeking_venue.data, seeking_description=form.seeking_description.data) db.session.add(newArtist) 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.') if not error: 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 try: seeking_venue = False description = '' if 'seeking_venue' in request.form: seeking_venue = request.form['seeking_venue'] == 'y' if 'description' in request.form: description = request.form['description'] new_artist = Artist(name=request.form['name'], city=request.form['city'], state=request.form['state'], phone=request.form['phone'], genres=request.form['genres'], facebook_link=request.form['facebook_link'], image_link=request.form['image_link'], website=request.form['website'], seeking_venue=seeking_venue, seeking_description=description) db.session.add(new_artist) db.session.commit() # on successful db insert, flash success flash('Artist ' + request.form['name'] + ' was successfully listed!') except SQLAlchemyError as e: db.session.rollback() flash(e) finally: db.session.close() flash('An error occurred. Artist could not be 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 # TODO: modify data to be the data object returned from db insertion print(request.form) form = ArtistForm(request.form) # create a new Venue object and add to the db artist = Artist(name=form.name.data, city=form.city.data, state=form.state.data, phone=form.phone.data, genres=form.genres.data, website=form.website.data, facebook_link=form.facebook_link.data, image_link=form.image_link.data, seeking_venue=True if form.seeking.data == 'Yes' else False, seeking_description=form.seeking_description.data) try: # on successful db insert, flash success db.session.add(artist) db.session.commit() flash('Artist ' + request.form['name'] + ' was successfully listed!') except: # TODO: on unsuccessful db insert, flash an error instead. # e.g., flash('An error occurred. Artist ' + data.name + ' could not be listed.') db.session.rollback() flash('Error! issue faced while trying to add ' + request.form['name']) finally: db.session.close() return render_template('pages/home.html')
def create_artist_submission(): form = ArtistForm(request.form) if form.validate_phone(form.phone): try: new_artist = Artist( name=form.name.data, city=form.city.data, state=form.state.data, phone=form.phone.data, genres=form.genres.data, facebook_link=form.facebook_link.data, image_link=form.image_link.data, website=form.website.data, seeking_venue=form.seeking_venue.data, seeking_description=form.seeking_description.data) Artist.create(new_artist) flash( 'Artist ' + request.form['name'] + ' was successfully listed!', "success") except: flash( 'An error occurred. Artist ' + form.name + ' could not be listed.', "danger") else: flash("Phone number is not valid", "warning") 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 # TODO: modify data to be the data object returned from db insertion try: name = request.form.get('name', '') city = request.form.get('city', '') state = request.form.get('state', '') phone = request.form.get('phone', '') genres = request.form.get('genres', '') image_link = request.form.get('image_link', '') facebook_link = request.form.get('facebook_link', '') artist = Artist(name=name, city=city, state=state, phone=phone, image_link=image_link, facebook_link=facebook_link, genres=genres) db.session.add(artist) db.session.commit() flash('Venue ' + request.form.get('name', '') + ' was successfully listed!') except: db.session.rollback() flash('An error occurred. Venue ' + request.form.get('name', '') + ' could not be listed.') finally: db.session.close() # on successful db insert, flash success # 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 populate_artists(): # artists = [line.strip() for line in open("artists.json", "r")] artists = [] with open('artists.json') as f: data = j.load(f) artists = data["Artists"] for artist in artists: name = artist.get('name') birth = artist.get('birth') death = artist.get('death') birthplace = artist.get('birthplace') deathplace = artist.get('deathplace') culture = artist.get('culture') if not birth: break if name and birth and birthplace and culture and ( (death and deathplace) or not (death or deathplace)): new_entry = Artist(name=name, birth=birth, death=death, birthplace=birthplace, deathplace=deathplace, culture=culture, image_url=artist.get('image_url')) print('ADDED: {}'.format(name)) db.session.add(new_entry) else: print('SKIPPED: {}'.format(name)) db.session.commit()
def create_artist_submission(): # Getting the user's input data = {} data['name'] = request.form.get('name') data['city'] = request.form.get('city') data['state'] = request.form.get('state') data['phone'] = request.form.get('phone') data['genres'] = request.form.getlist('genres') data['image_link'] = request.form.get('image_link') data['facebook_link'] = request.form.get('facebook_link') data['website'] = request.form.get('website') data['seeking_venue'] = True if request.form.get( 'seeking_venue') == 'y' else False data['seeking_description'] = request.form.get('seeking_description') try: # Try to insert into the table newArtist = Artist(**data) db.session.add(newArtist) db.session.commit() # on successful db insert, flash success flash('Artist ' + request.form.get('name') + ' was successfully listed!') except Exception: db.session.rollback() print(sys.exc_info()) flash('An error occurred. Artist ' + request.form.get('name') + ' could not be listed.') finally: db.session.close() return render_template('pages/home.html')
def create_artist_submission(): # called upon submitting the new artist listing form try: artist_data = request.form artist_form = ArtistForm(artist_data) # if artist_form.validate_on_submit(): artist = Artist() artist_form.populate_obj(artist) db.session.add(artist) db.session.commit() # on successful db insert, flash success flash('Artist ' + artist_data['name'] + ' was successfully listed!') except Exception: db.session.rollback() flash('An error occurred. Artist ' + artist_data['name'] + ' could not be listed.') print(sys.exc_info()) finally: db.session.close() 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 # TODO: modify data to be the data object returned from db insertion try: artist = Artist(name=request.form['name'], city=request.form['city'], state=request.form['state'], phone=request.form['phone'], facebook_link=request.form['facebook_link'], seeking_venue=False) genres = request.form['genres'] artist.add_genres(genres) db.session.add(artist) db.session.commit() flash('Artist ' + request.form['name'] + ' was successfully listed!') except Exception as error: print(error) db.session.rollback() # TODO: on unsuccessful db insert, flash an error instead. 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(): error = False try: artist = Artist( name=request.form['name'], city=request.form['city'], state=request.form['state'], phone=request.form['phone'], genres=request.form.getlist('genres'), image_link=request.form['image_link'], facebook_link=request.form['facebook_link'], website=request.form['website'], seeking_venue=('seeking_venue' in request.form.keys()), seeking_description=request.form['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(): form = ArtistForm() data = request.form try: seeking_venue = None if 'seeking_venue' in request.form: seeking_venue = request.form['seeking_venue'] == 'y' new_artist = Artist( name=data.get("name"), genres=data.getlist("genres[]"), city=data.get("city"), state=data.get("state"), phone=data.get("phone"), website=data.get("website_link"), seeking_venue=seeking_venue, facebook_link=data.get("facebook_link"), seeking_description=data.get("seeking_description"), image_link=data.get("image_link")) Artist.insert(new_artist) flash('Artist ' + request.form['name'] + ' was successfully listed!') except SQLAlchemyError as e: flash('An error occurred. Artist ' + request.form['name'] + ' could not be listed.') return render_template('pages/home.html')