Пример #1
0
def processRequest(req):
    debug = wsgi_app.debug

    c = req.path_info_pop()

    func = getattr(cmd, 'cmd_' + c, None)
    if func != None:
        if debug:
            debugprint('->', '/' + c, req.body)

        try:
            data = json.loads(req.body.decode('utf8'))
        except:
            return badRequest()

        try:
            resp = func(data)
            resp = json.dumps(resp)
        except:
            database.rollback()
            raise
        else:
            database.commit()

        if debug:
            debugprint('<-', resp)

        return webob.Response(resp, 200)

    return notFound()
Пример #2
0
 def __call__(self, environ, start_response):
     try:
         return self.app(environ, start_response)
     finally:
         database.rollback()
Пример #3
0
@mod.route("/register/", methods=["GET", "POST"])
def register():
    form = RegisterForm(request.form)
    if form.validate_on_submit():
        # Create new User instance
        user = User(
            name=form.username.data,
            email=form.email.data,
            password=form.password.data,
        )

        try:
            user.save()
        except UniquenessViolation, err:
            if err.column_name == "email":
                form.email.errors.append("There is already an account registered with that email address.")
            elif err.column_name == "name":
                form.username.errors.append("There is already an account registered with that username.")
        else:
            login_user(user)

            # Flash a message that gets displayed only once.
            flash("Welcome to the herd.")

            return redirect(url_for("users.profile"))
        finally:
            database.rollback()

    return render_template("users/register.html", form=form)
Пример #4
0
 def __call__(self, environ, start_response):
     try:
         return self.app(environ, start_response)
     finally:
         database.rollback()