Пример #1
0
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')
Пример #2
0
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)
Пример #3
0
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')
Пример #4
0
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)
Пример #5
0
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')
Пример #6
0
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')
Пример #7
0
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')
Пример #8
0
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')
Пример #9
0
Файл: app.py Проект: OAK06/FSND
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')
Пример #10
0
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")
Пример #11
0
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')
Пример #12
0
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()
Пример #13
0
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')
Пример #14
0
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')
Пример #15
0
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')
Пример #16
0
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)
Пример #17
0
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')