Skip to content

Commit

Permalink
Small fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
FinnStutzenstein committed Nov 10, 2020
1 parent cdf1b72 commit 24d9ffa
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 6 deletions.
1 change: 1 addition & 0 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ EXPOSE 9006

ENV FLASK_APP ./src/mediaserver.py
ENV FLASK_ENV development
ENV FLASK_DEBUG 1

ENTRYPOINT ["./entrypoint.sh"]
CMD ["flask", "run", "--host", "0.0.0.0", "--port", "9006"]
2 changes: 1 addition & 1 deletion src/exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ class HttpError(Exception):
def __init__(self, message, status_code):
self.message = message
self.status_code = status_code
super().__init__(self)
super().__init__(message)


class ServerError(HttpError):
Expand Down
26 changes: 21 additions & 5 deletions src/mediaserver.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import atexit
import base64
import json
from functools import wraps

from flask import Flask, Response, jsonify, request

Expand All @@ -24,13 +25,26 @@ def handle_view_error(error):
f"Request to {request.path} resulted in {error.status_code}: "
f"{error.message}"
)
res_content = {"message": f"Media-Server: {error.message}"}
res_content = {"success": False, "message": error.message}
response = jsonify(res_content)
response.status_code = error.status_code
return response


@app.route("/system/media/get/<int:mediafile_id>")
def handle_general_errors(fn):
@wraps(fn)
def view(*args, **kwargs):
try:
return fn(*args, **kwargs)
except Exception as e:
app.logger.exception(e)
raise e

return view


@app.route("/system/media/get/<int:mediafile_id>", strict_slashes=False)
@handle_general_errors
def serve(mediafile_id):
# get mediafile id
presenter_headers = dict(request.headers)
Expand Down Expand Up @@ -60,8 +74,9 @@ def chunked(size, source):
return response


@app.route("/internal/media/upload/", methods=["POST"])
def media_post():
@app.route("/internal/media/upload", methods=["POST"], strict_slashes=False)
@handle_general_errors
def upload():
try:
decoded = request.data.decode()
dejson = json.loads(decoded)
Expand All @@ -79,9 +94,10 @@ def media_post():
f"The post request.data is not in right format: {request.data}"
)
app.logger.debug(f"to database media {media_id} {mimetype}")

global database
database.set_mediafile(media_id, media, mimetype)
return f"Mediaserver: add {media_id} to db", 200
return {"success": True}, 200


def shutdown(database):
Expand Down

0 comments on commit 24d9ffa

Please sign in to comment.