summaryrefslogtreecommitdiffstats
path: root/clover/controller/control/api/file_upload.py
diff options
context:
space:
mode:
Diffstat (limited to 'clover/controller/control/api/file_upload.py')
-rw-r--r--clover/controller/control/api/file_upload.py38
1 files changed, 32 insertions, 6 deletions
diff --git a/clover/controller/control/api/file_upload.py b/clover/controller/control/api/file_upload.py
index a479c30..a532bc8 100644
--- a/clover/controller/control/api/file_upload.py
+++ b/clover/controller/control/api/file_upload.py
@@ -5,24 +5,50 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
-from flask import Blueprint, request, Response
+from flask import Blueprint, request, Response, jsonify
import redis
import logging
file_upload = Blueprint('file_upload', __name__)
-HOST_IP = 'redis'
+HOST_IP = 'redis.default'
@file_upload.route("/upload", methods=['GET', 'POST'])
-def upload_meta():
+def set_upload_metadata():
try:
+ response = "Uploaded file(s) successfully"
content = request.form
+ logging.debug(content)
r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
- response = content.get('upload.name')
- r.set('upload_meta', response)
+ # Try various variable names
+ upload_var_names = ['upload', 'file1', 'file2', 'file3',
+ 'file4', 'file5', 'file6']
+ for n in upload_var_names:
+ try:
+ param_name = n + '.name'
+ meta_name = content.get(param_name)
+ if meta_name:
+ param_path = n + '.path'
+ param_server = n + '.server'
+ meta_path = content.get(param_path)
+ meta_server = content.get(param_server)
+ entry = meta_name + ':' + meta_path + ':' + meta_server
+ r.sadd('upload_metadata', entry)
+ except Exception as e:
+ print("no metadata")
except Exception as e:
logging.debug(e)
- r.set('upload_meta', "failure")
return Response('Unable to write file metadata to redis', status=400)
return response
+
+
+@file_upload.route("/upload/get", methods=['GET', 'POST'])
+def get_upload_metadata():
+ try:
+ r = redis.StrictRedis(host=HOST_IP, port=6379, db=0)
+ response = jsonify(list(r.smembers('upload_metadata')))
+ except Exception as e:
+ logging.debug(e)
+ return Response('Unable to retrieve upload metadata', status=400)
+ return response