Пример #1
0
def create(show_record: ShowRecord,
           current_user: str = Depends(get_current_user)):
    """
    create a show record
    """

    try:
        show = Show()
        show.artist = show_record.artist
        show.venue = show_record.venue
        show.city = show_record.city
        show.date = show_record.date
        show.festival = show_record.festival
        show.creator_id = current_user.id

        db.add(show)
        db.commit()
    except sqlalchemy.exc.IntegrityError:
        return {
            "code": "error",
            "message": "User already exists with that username or email"
        }
    except Exception as e:
        print(e)

    return {"code": "SUCCESS"}
Пример #2
0
def add_row():
    rowid = request.form.get('rowid')
    date = request.form.get('date')
    time = parse_time(request.form.get('time'))
    show_name = request.form.get('show_name')
    visitors = request.form.get('visitors')
    vert = request.form.get('vert')
    if time is None:
        return make_response(jsonify({'error': 'Invalid time'}), 500)
    if all(field is None for field in [rowid, date, time, show_name, visitors, vert]):
        return make_response(jsonify({'error': 'All fields are empty'}), 500)
    if all(field in [0, '', None] for field in [visitors, time, show_name]):
        return make_response(jsonify({'error': 'Not enough fields'}), 500)
    print(rowid, date, time, show_name, visitors, vert)
    try:
        date = datetime.datetime.strptime(date, '%Y-%m-%d').date()
    except ValueError:
        make_response(jsonify({'error': 'Not a valid date'}), 500)
    show = Show.query.filter_by(id=rowid).first()
    if show is None:
        print("Creating new show")
        show = Show()
        try:
            show.id = int(rowid)
        except ValueError:
            pass
        db.session.add(show)
    if visitors == "":
        visitors = "0"
    try:
        visitors = int(visitors.strip())
    except ValueError:
        return make_response(jsonify({'error': 'Visitors must be a number'}))
    time = time.strip()
    if time.isnumeric() and len(time) == 4:
        time = time[:2] + ":" + time[2:]
    elif time.find(':') == 1:
        time = '0' + time
    show.date = date
    show.time = time.strip()
    show.show = show_name.strip()
    show.visitors = visitors
    show.vert = vert.strip()
    db.session.commit()

    ret = jsonify({"rowid": show.id,
                   "date": date.strftime("%Y-%m-%d"),
                   "time": time,
                   "show_name": show_name,
                   "visitors": visitors,
                   "vert": vert})
    return ret
Пример #3
0
 def txn(name, number, date, page_url, audio_url, mstotal, tracks, img_url="", desc="", credits="", *args, **kwargs):
     show = Show()
     show.name = name
     show.credits = credits
     show.desc = desc
     show.number = number
     show.date = date
     show.mstotal = mstotal
     show.audio_url = audio_url
     show.img_url = img_url
     show.put()
     
     return show
Пример #4
0
def create_show_submission():
    error = False
    show = Show()

    try:
        show.artist_id = request.form['artist_id']
        show.venue_id = request.form['venue_id']
        show.date = request.form['start_time']

        db.session.add(show)
        db.session.commit()
    except:
        error = True
        db.session.rollback()
        print(sys.exc_info())
    finally:
        db.session.close()

    if error:
        flash('An error occurred. Show could not be listed.')
        abort(500)
    else:
        flash('Show was successfully listed!')
        return render_template('pages/home.html')