def add_user(email): """ Creates user, then redirects to the get_session endpoint. Returns a session """ password = flask.request.form.get("password", None) if password is None: flask.abort(400) try: zeeguu.db.session.add(model.User(email, password)) zeeguu.db.session.commit() except ValueError: flask.abort(400) except sqlalchemy.exc.IntegrityError: flask.abort(400) return get_session(email)
def create_account(): if flask.request.method == "GET": return flask.render_template("create_account.html", languages=model.Language.all(), native_languages = model.Language.native_languages(), flashed_messages=flask.get_flashed_messages()) form = flask.request.form if flask.request.method == "POST" and form.get("create_account", False): password = form.get("password", None) email = form.get("email", None) name = form.get("name", None) language = model.Language.find(form.get("language", None)) native_language = model.Language.find(form.get("native_language", None)) if password is None or email is None or name is None: flask.flash("Please enter your name, email address, and password") else: try: zeeguu.db.session.add(model.User(email, name, password, language, native_language)) zeeguu.db.session.commit() except ValueError: flask.flash("The username could not be created. Please contact us.") return flask.render_template("create_account.html",flashed_messages=flask.get_flashed_messages()) except sqlalchemy.exc.IntegrityError: print "integrity error" flask.flash(email + " is already in use. Please select a different email.") return flask.render_template("create_account.html",flashed_messages=flask.get_flashed_messages()) print "looking for the user" user = model.User.authorize(email, password) flask.session["user"] = user.id return flask.redirect(flask.url_for("gym.contributions")) return flask.render_template("create_account.html", flashed_messages=flask.get_flashed_messages())
def create_test_db(): zeeguu.app.test_request_context().push() zeeguu.db.session.commit() zeeguu.db.drop_all() zeeguu.db.create_all() fr = model.Language("fr", "French") de = model.Language("de", "German") dk = model.Language("dk", "Danish") en = model.Language("en", "English") it = model.Language("it", "Italian") no = model.Language("no", "Norwegian") ro = model.Language("ro", "Romanian") es = model.Language("es", "Spanish") zeeguu.db.session.add(en) zeeguu.db.session.add(fr) zeeguu.db.session.add(de) zeeguu.db.session.add(dk) zeeguu.db.session.add(no) zeeguu.db.session.add(it) zeeguu.db.session.add(ro) zeeguu.db.session.add(es) zeeguu.db.session.commit() user = model.User("*****@*****.**", "Mircea", "pass", de, ro) user2 = model.User("*****@*****.**", "Ada", "pass", fr) zeeguu.db.session.add(user) jan111 = datetime.date(2011,01,01) ian101 = datetime.date(2001,01,01) jan14 = datetime.date(2014,1,14) today_dict = { 'sogar':'actually', 'sperren':'to lock, to close', 'Gitter':'grates', 'erfahren':'to experience', 'Betroffen':'affected', 'jeweils':'always', 'Darstellung':'presentation', 'Vertreter':'representative', 'Knecht':'servant', 'besteht':'smtg. exists' } for key in today_dict: add_contribution(user, de, key, en, today_dict[key], jan111, "Keine bank durfe auf immunitat pochen, nur weil sie eine besonders herausgehobene bedeutung fur das finanzsystem habe, sagte holder, ohne namen von banken zu nennen" + key, "http://url2", "title of url2") dict = { u'Spaß': 'fun', 'solche': 'suchlike', 'ehemaliger': 'ex', 'betroffen': 'affected', 'Ufer':'shore', u'höchstens':'at most' } for key in dict: add_contribution(user, de, key, en, dict[key], ian101, "Deutlich uber dem medianlohn liegen beispielsweise forschung und entwicklung, tabakverarbeitung, pharma oder bankenwesen, am unteren ende der skala liegen die tieflohnbranchen detailhandel, gastronomie oder personliche dienstleistungen. "+key, "http://url1", "title of url1") dict = { 'jambes':'legs', 'de':'of', 'et':'and' } for key in dict: add_contribution(user2, fr, key, en, dict[key], ian101, "Keine bank durfe auf immunitat pochen, nur weil sie eine besonders herausgehobene bedeutung fur das finanzsystem habe, sagte holder, ohne namen von banken zu nennen." + key, "http://localhost.com", "title of url1") story_url = 'http://www.gutenberg.org/files/23393/23393-h/23393-h.htm' japanese_story = [ # ['recht', 'right', 'Du hast recht', story_url], ['hauen', 'to chop', 'Es waren einmal zwei Holzhauer', story_url], [u'Wald','to arrive', u'Um in den Walden zu gelangen, mußten sie einen großen Fluß passieren. Um in den Walden zu gelangen, mußten sie einen großen Fluß passieren. Um in den Walden zu gelangen, mußten sie einen großen Fluß passieren. Um in den Walden zu gelangen, mußten sie einen großen Fluß passieren', story_url], ['eingerichtet','established',u'Um in den Wald zu gelangen, mußten sie einen großen Fluß passieren, über den eine Fähre eingerichtet war', story_url], [u'vorläufig','temporary',u'von der er des rasenden Sturmes wegen vorläufig nicht zurück konnte', story_url], [u'werfen', 'to throw',u'Im Hause angekommen, warfen sie sich zur Erde,', story_url], ['Tosen','roar',u'sie Tür und Fenster wohl verwahrt hatten und lauschten dem Tosen des Sturmes.sie Tür und Fenster wohl verwahrt hatten und lauschten dem Tosen des Sturmes.sie Tür und Fenster wohl verwahrt hatten und lauschten dem Tosen des Sturmes',story_url], ['Entsetzen','horror','Entsetzt starrte Teramichi auf die Wolke',story_url] ] for w in japanese_story: if w[0] == 'recht': # something special add_contribution(user, de, w[0], en, w[1],jan14, w[2],w[3], "japanese story") else: add_contribution(user, de, w[0], en, w[1],jan14, w[2],w[3], "japanese story") zeeguu.db.session.commit()
def get_url_and_texts(): mens = session.query(model.Text).filter_by(content="mens").first() h**o = session.query(model.Text).filter_by(content="h**o").first() reader = session.query(model.Url).filter_by(url="www.reader.com").first() return mens, h**o, reader if __name__ == "__main__": print("testing...") zeeguu.app.test_request_context().push() de = model.Language.find("de") user = model.User("*****@*****.**", "password3", de) session = zeeguu.db.session session.add(user) print(zeeguu.db.session.commit()) print "user4 added" user = model.User.find("*****@*****.**") zeeguu.db.session.delete(user) print(zeeguu.db.session.commit()) print "user4 removed" create_url_and_texts() t1, t2, url = get_url_and_texts() print t1.content, t2.content, url.url session.delete(t1)