aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
Diffstat (limited to 'routes')
-rw-r--r--routes/auth.py6
-rw-r--r--routes/media.py12
-rw-r--r--routes/uploads.py30
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: