summaryrefslogtreecommitdiff
path: root/animism-align
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align')
-rw-r--r--animism-align/cli/app/controllers/media_controller.py19
-rw-r--r--animism-align/cli/app/controllers/upload_controller.py14
-rw-r--r--animism-align/cli/app/server/web.py2
-rw-r--r--animism-align/frontend/actions.js3
-rw-r--r--animism-align/frontend/views/upload/upload.actions.js2
5 files changed, 31 insertions, 9 deletions
diff --git a/animism-align/cli/app/controllers/media_controller.py b/animism-align/cli/app/controllers/media_controller.py
new file mode 100644
index 0000000..e7e620c
--- /dev/null
+++ b/animism-align/cli/app/controllers/media_controller.py
@@ -0,0 +1,19 @@
+from flask import request, jsonify, redirect
+from flask_classful import route
+from werkzeug.datastructures import MultiDict
+
+from app.sql.common import db, Session
+from app.sql.models.media import Media, MediaForm
+from app.controllers.crud_controller import CrudView
+
+class MediaView(CrudView):
+ model = Media
+ form = MediaForm
+
+ def on_create(self, session, form, item):
+ if 'settings' in form:
+ item.settings = form['settings']
+
+ def on_update(self, session, form, item):
+ if 'settings' in form:
+ item.settings = form['settings']
diff --git a/animism-align/cli/app/controllers/upload_controller.py b/animism-align/cli/app/controllers/upload_controller.py
index 86f9f29..aa29553 100644
--- a/animism-align/cli/app/controllers/upload_controller.py
+++ b/animism-align/cli/app/controllers/upload_controller.py
@@ -73,13 +73,13 @@ class UploadView(FlaskView):
# convert string of image data to uint8
file.seek(0)
- nparr = np.fromstring(file.read(), np.uint8)
+ # nparr = np.fromstring(file.read(), np.uint8)
# decode image
- try:
- im = Image.fromarray(nparr)
- except:
- return jsonify({ 'status': 'error', 'error': 'Image parse error' })
+ # try:
+ # im = Image.fromarray(nparr)
+ # except:
+ # return jsonify({ 'status': 'error', 'error': 'Image parse error' })
session = Session()
upload = session.query(Upload).filter_by(sha256=sha256).first()
@@ -93,14 +93,14 @@ class UploadView(FlaskView):
session.close()
return jsonify(response)
- uploaded_im_fn = secure_filename(sha256 + ext)
+ uploaded_im_fn = secure_filename(file.filename)
uploaded_im_abspath = os.path.join(app_cfg.DIR_UPLOADS, sha256_tree(sha256))
uploaded_im_fullpath = os.path.join(uploaded_im_abspath, uploaded_im_fn)
os.makedirs(uploaded_im_abspath, exist_ok=True)
nparr.tofile(uploaded_im_fullpath)
- upload = Upload(username=username, sha256=sha256, ext=ext)
+ upload = Upload(username=username, fn=uploaded_im_fn, sha256=sha256, ext=ext)
session.add(upload)
session.commit()
response = {
diff --git a/animism-align/cli/app/server/web.py b/animism-align/cli/app/server/web.py
index 8c7bbc2..a20d40c 100644
--- a/animism-align/cli/app/server/web.py
+++ b/animism-align/cli/app/server/web.py
@@ -19,6 +19,7 @@ from app.settings import app_cfg
from app.controllers.annotation_controller import AnnotationView
from app.controllers.paragraph_controller import ParagraphView
from app.controllers.upload_controller import UploadView
+from app.controllers.media_controller import MediaView
def create_app(script_info=None):
"""
@@ -37,6 +38,7 @@ def create_app(script_info=None):
AnnotationView.register(app, route_prefix='/api/v1/')
ParagraphView.register(app, route_prefix='/api/v1/')
UploadView.register(app, route_prefix='/api/v1/')
+ MediaView.register(app, route_prefix='/api/v1/')
index_html = 'index.html'
diff --git a/animism-align/frontend/actions.js b/animism-align/frontend/actions.js
index 4153296..8daf83e 100644
--- a/animism-align/frontend/actions.js
+++ b/animism-align/frontend/actions.js
@@ -12,6 +12,7 @@ const crudActions = [
'paragraph',
'annotation',
'upload',
+ 'media',
].reduce((a,b) => (a[b] = crud_actions(b)) && a, {})
export default
@@ -26,4 +27,4 @@ export default
.concat([
// ['socket', socketActions],
])
- .reduce((a,b) => (a[b[0]] = b[1])&&a,{}) \ No newline at end of file
+ .reduce((a,b) => (a[b[0]] = b[1])&&a,{})
diff --git a/animism-align/frontend/views/upload/upload.actions.js b/animism-align/frontend/views/upload/upload.actions.js
index 488e030..a04e4d8 100644
--- a/animism-align/frontend/views/upload/upload.actions.js
+++ b/animism-align/frontend/views/upload/upload.actions.js
@@ -7,7 +7,7 @@ import { session } from '../../session'
export const upload = file => dispatch => {
const formData = {
'image': file,
- // 'username': session('username'),
+ 'username': 'animism', // session('username'),
}
// console.log(formData)
return actions.upload.upload(formData).then(data => {