def charge(): def str2date(date_string): """ Returns a datetime date given a valid date_string """ return datetime.datetime.strptime(date_string, "%Y-%m-%d").date() if request.method == 'POST': try: # Amount in pence customer = stripe.Customer.create( email=request.form['stripeEmail'], card=request.form['stripeToken'] ) charge = stripe.Charge.create( customer=customer.id, amount=Decimal(session['registration_price']), currency='gbp', description='Registration' ) sob_date = None if session['sobriety_date'] != u'None': sob_date = str2date(session['sobriety_date']) registration = Registration( first_name = session['first_name'] , last_name = session['last_name'] , mobile = session['mobile'] , email = session['email'] , sobriety_date = sob_date , ypaa_committee = session['ypaa_committee'] , fellowship = session['fellowship'] , special_needs = session['special_needs'] , of_service = session['of_service'] , country = session['country'] ) registration.put() email_admin(session) email_user(session) flash("You are now registered!") if sob_date is not None: num_twins = num_sobriety_twins(str2date(session['sobriety_date'])) if num_twins > 1: if num_twins == 2: flash("By the way, you have a sobriety twin coming to the convention!") else: flash("By the way, you have %d sobriety twins coming to the convention!" % (num_twins-1)) return redirect(url_for('homepage')) except Exception, e: # TODO: Roll back transaction, registration #print "Payment not processed: %s" % e flash("Payment not processed. %s" % e) return redirect(url_for('new_registration_1'))
def charge(): def str2date(date_string): """ Returns a datetime date given a valid date_string """ return datetime.datetime.strptime(date_string, "%Y-%m-%d").date() if request.method == 'POST': try: # Amount in pence amount = 2000 customer = stripe.Customer.create( email=request.form['stripeEmail'], card=request.form['stripeToken'] ) charge = stripe.Charge.create( customer=customer.id, amount=amount, currency='gbp', description='Registration' ) registration = Registration( first_name = session['first_name'] , last_name = session['last_name'] , mobile = session['mobile'] , email = session['email'] , dob = str2date(session['dob']) , special_needs = session['special_needs'] , country = session['country'] ) registration.put() email_admin(session) email_user(session) flash("You are now registered!") return redirect(url_for('homepage')) except Exception, e: # TODO: Roll back transaction, registration #print "Payment not processed: %s" % e flash("Payment not processed. %s" % e) return redirect(url_for('new_registration_1'))
def csv2db(csv_filename): def boolify(s): return {'True':True,'False':False}[s] def dateify(s): return d.strptime(s, "%d/%m/%Y").date() if s != 'none' else None with open(csv_filename) as csvfile: reader = csv.DictReader(csvfile) for row in reader: print row r = Registration( first_name = row['first_name'] , last_name = row['last_name'] , mobile = row['mobile'] , email = row['email'] , sobriety_date = dateify(row['sobriety_date']) , ypaa_committee = row['ypaa_committee'] , fellowship = row['member_of'] , special_needs = row['special_needs'] , country = row['country'] , of_service = boolify(row['of_service']) ) r.put()