예제 #1
0
def add_user_with_cohort():
    '''
        Creates user and adds them to a cohort
        Requires input form (email, password, username, inv_code)
    '''
    email = request.form.get("email")
    password = request.form.get("password")
    username = request.form.get("username")
    inv_code = request.form.get("inv_code")
    try:
        cohort_id = Cohort.get_id(inv_code)
        cohort = Cohort.find(cohort_id)
    except:
        flask.abort(400)

    if not len(password) == 0:
        if cohort.cohort_still_has_capacity():
            try:
                user = User(email,
                            username,
                            password,
                            invitation_code=inv_code)
                user.cohort = cohort
                db.session.add(user)
                db.session.commit()
                return 'OK'
            except ValueError:
                flask.abort(400)
            except sqlalchemy.exc.IntegrityError:
                flask.abort(400)
        return 'no more space in class!'
    flask.abort(400)
예제 #2
0
def add_user(email):
    """
    Creates user, then redirects to the get_session
    endpoint. Returns a session
    """
    password = flask.request.form.get("password", None)
    username = flask.request.form.get("username", None)
    if password is None:
        flask.abort(400)
    try:
        zeeguu.db.session.add(User(email, username, password))
        zeeguu.db.session.commit()
    except ValueError:
        flask.abort(400)
    except sqlalchemy.exc.IntegrityError:
        flask.abort(400)
    return get_session(email)
예제 #3
0
def add_user(email):
    """
   
        Creates user, then redirects to the get_session
        endpoint. Returns a session
        
    """
    password = request.form.get("password")
    username = request.form.get("username")
    if password is None or len(password) < 4:
        return make_error(400, "Password should be at least 4 characters long")
    try:
        db_session.add(User(email, username, password))
        db_session.commit()
    except ValueError:
        return make_error(400, "Invalid value")
    except sqlalchemy.exc.IntegrityError:
        return make_error(401, "There is already an account for this email.")
    return get_session(email)
예제 #4
0
def create_test_db():
    zeeguu.app.test_request_context().push()

    zeeguu.db.session.commit()
    zeeguu.db.drop_all()
    zeeguu.db.create_all()

    fr = Language("fr", "French")
    de = Language("de", "German")
    dk = Language("dk", "Danish")
    en = Language("en", "English")
    it = Language("it", "Italian")
    no = Language("no", "Norwegian")
    ro = Language("ro", "Romanian")
    es = 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()

    show_solution = ExerciseOutcome("Show solution")
    retry = ExerciseOutcome("Retry")
    correct = ExerciseOutcome("Correct")
    wrong = ExerciseOutcome("Wrong")
    typo = ExerciseOutcome("Typo")
    too_easy = ExerciseOutcome("Too easy")

    recognize = ExerciseSource("Recognize")
    translate = ExerciseSource("Translate")

    zeeguu.db.session.add(show_solution)
    zeeguu.db.session.add(retry)
    zeeguu.db.session.add(correct)
    zeeguu.db.session.add(wrong)
    zeeguu.db.session.add(typo)
    zeeguu.db.session.add(too_easy)

    zeeguu.db.session.add(recognize)
    zeeguu.db.session.add(translate)

    user = User("*****@*****.**", "Mircea", "pass", de, ro)
    user2 = User("*****@*****.**", "Ada", "pass", fr)

    zeeguu.db.session.add(user)
    zeeguu.db.session.add(user2)

    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',
        'treffen': 'hit',
        'jeweils': 'always',
        'Darstellung': 'presentation',
        'Vertreter': 'representative',
        'Knecht': 'servant',
        'besteht': 'smtg. exists'
    }

    dict = {
        u'Spaß': 'fun',
        'solche': 'suchlike',
        'ehemaliger': 'ex',
        'betroffen': 'affected',
        'Ufer': 'shore',
        u'höchstens': 'at most'
    }

    french_dict = {'jambes': 'legs', 'de': 'of', 'et': 'and'}

    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', 'Da waren einmal zwei Holzhauer können',
            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
        ]
    ]

    add_ranked_word_to_db('de')

    for key in today_dict:
        add_bookmark(
            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")

    for key in dict:
        add_bookmark(
            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")

    for key in french_dict:
        add_bookmark(
            user, de, key, en, french_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")
    for w in japanese_story:
        add_bookmark(user, de, w[0], en, w[1], jan14, w[2], w[3],
                     "japanese story")

    zeeguu.db.session.commit()