diff options
Diffstat (limited to 'animism-align')
| -rw-r--r-- | animism-align/cli/app/controllers/media_controller.py | 19 | ||||
| -rw-r--r-- | animism-align/cli/app/controllers/upload_controller.py | 14 | ||||
| -rw-r--r-- | animism-align/cli/app/server/web.py | 2 | ||||
| -rw-r--r-- | animism-align/frontend/actions.js | 3 | ||||
| -rw-r--r-- | animism-align/frontend/views/upload/upload.actions.js | 2 |
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 => { |
