diff options
Diffstat (limited to 'routes')
| -rw-r--r-- | routes/auth.py | 6 | ||||
| -rw-r--r-- | routes/media.py | 12 | ||||
| -rw-r--r-- | routes/uploads.py | 30 |
3 files changed, 22 insertions, 26 deletions
diff --git a/routes/auth.py b/routes/auth.py index d6b6ffd..cdcacf1 100644 --- a/routes/auth.py +++ b/routes/auth.py @@ -21,16 +21,16 @@ def post_auth_new(): username = request_data()["username"] password = request_data()["password"] except KeyError as e: - raise HTTPResponse("Username or password missing", 400) + raise ParryHTTPResponse("Username or password missing", 400) hash = calculateUserHash(username, password).hexdigest() try: session.query(User).filter(User.name == username or User.hash == hash).one() - raise HTTPResponse("User already exists", status=409) + raise ParryHTTPResponse("User already exists", status=409) except db.orm.exc.NoResultFound: session.add(User(name=username, hash=hash)) session.commit() - return HTTPResponse(status=303, headers={"Location" : "/api/auth"}) + return ParryHTTPResponse(status=303, headers={"Location" : "/api/auth"}) @get("/api/auth") @jwt_auth_required diff --git a/routes/media.py b/routes/media.py index 7986960..125284b 100644 --- a/routes/media.py +++ b/routes/media.py @@ -36,10 +36,6 @@ def _delete_file(file): pass except OSError: print("Failed to unlink", file.id, file=sys.stderr) - -@get("/api/media") -def get_media(): - notAllowed() @post("/api/media") @jwt_auth_required @@ -48,7 +44,7 @@ def post_media(): f = _upload_file(next(request.files.values())) session.add(f) session.commit() - return HTTPResponse(f.json(), status=201) + return ParryHTTPResponse(f.json(), status=201) @get("/api/media/<id>") def get_media_id(id): @@ -56,7 +52,7 @@ def get_media_id(id): try: file = session.query(File).filter_by(id=id).one() except db.orm.exc.NoResultFound: - raise HTTPResponse(status=404) + raise ParryHTTPResponse(status=404) response.set_header("Content-Type", file.content_type) response.set_header("Content-Length", file.length) @@ -65,8 +61,8 @@ def get_media_id(id): if request.method == "GET": if file.download_url: #return requests.request(request.method, file.download_url, allow_redirects=True) - return HTTPResponse(status=302, headers={"Location" : file.download_url}) + return ParryHTTPResponse(status=302, headers={"Location" : file.download_url}) else: return static_file(str(file.id), os.path.join(os.getcwd(), "media"), file.content_type, download=file.name if request.params.download else False) - raise HTTPResponse(status=404) + raise ParryHTTPResponse(status=404) diff --git a/routes/uploads.py b/routes/uploads.py index bba927d..332b5a4 100644 --- a/routes/uploads.py +++ b/routes/uploads.py @@ -73,10 +73,10 @@ def post_upload(id=None): if id is not None: entry = session.query(Upload).get(id) if not entry: - raise HTTPResponse(status=404) + raise ParryHTTPResponse(status=404) else: if session.query(Upload).filter_by(title=request_data()["title"]).count(): - raise HTTPResponse("An entry with the specified title already exists", 410) + raise ParryHTTPResponse("An entry with the specified title already exists", 410) entry = Upload() @@ -118,7 +118,7 @@ def post_upload(id=None): except KeyError as e: session.rollback() - raise HTTPResponse(f"Missing form value: {e.args[0]}", 400) + raise ParryHTTPResponse(f"Missing form value: {e.args[0]}", 400) session.commit() return _add_upload(entry, session) @@ -131,7 +131,7 @@ def get_upload(id): if entry is not None: return _add_upload(entry, session) - raise HTTPResponse(status=404) + raise ParryHTTPResponse(status=404) @delete("/api/uploads/<id>") @jwt_auth_required @@ -141,10 +141,10 @@ def delete_upload(id): try: entry = session.query(Upload).filter_by(id=id, author=author).one() except db.orm.exc.NoResultFound: - raise HTTPResponse(status=404) + raise ParryHTTPResponse(status=404) if entry.readonly: - raise HTTPResponse("Resource is read-only", 403) + raise ParryHTTPResponse("Resource is read-only", 403) session.delete(entry) for i in [Comment, Vote]: @@ -158,7 +158,7 @@ def delete_upload(id): #TODO: Dependencies session.commit() session.flush() - return HTTPResponse(status=204) + return ParryHTTPResponse(status=204) @get("/api/uploads/<id>/comments") @@ -166,7 +166,7 @@ def get_comments(id): session = DBSession() upload = session.query(Upload).get(id) if upload is None: - raise HTTPResponse("Invalid upload id", 404) + raise ParryHTTPResponse("Invalid upload id", 404) return { "comments" : [{**(comment.json()), **_vote_dummy} for comment in session.query(Comment).filter_by(upload=upload)] @@ -178,7 +178,7 @@ def post_comments(id): session = DBSession() upload = session.query(Upload).get(id) if upload is None: - raise HTTPResponse("Invalid upload id", 404) + raise ParryHTTPResponse("Invalid upload id", 404) try: @@ -188,7 +188,7 @@ def post_comments(id): upload=upload ) except KeyError as e: - raise HTTPResponse(f"Missing json value: {e.args[0]}", 400) + raise ParryHTTPResponse(f"Missing json value: {e.args[0]}", 400) session.add(comment) session.commit() @@ -201,11 +201,11 @@ def delete_comments(id, comment_id): try: comment = session.query(Comment).filter_by(id=comment_id, author=get_user(session), upload=session.query(Upload).get(id)).one() except db.orm.exc.NoResultFound: - raise HTTPResponse(status=404) + raise ParryHTTPResponse(status=404) session.delete(comment) session.commit() - return HTTPResponse(status=204) + return ParryHTTPResponse(status=204) @get("/api/uploads/<id>/vote") @jwt_auth_required @@ -213,12 +213,12 @@ def get_vote(id): session = DBSession() upload = session.query(Upload).get(id) if upload is None: - raise HTTPResponse("Invalid upload id", 404) + raise ParryHTTPResponse("Invalid upload id", 404) try: return session.query(Vote).filter_by(upload=upload, author=get_user(session)).one().json() except db.orm.exc.NoResultFound: - raise HTTPResponse(status=404) + raise ParryHTTPResponse(status=404) @post("/api/uploads/<id>/vote") @jwt_auth_required @@ -226,7 +226,7 @@ def post_vote(id): session = DBSession() upload = session.query(Upload).get(id) if upload is None: - raise HTTPResponse("Invalid upload id", 404) + raise ParryHTTPResponse("Invalid upload id", 404) author = get_user(session) try: |
