summaryrefslogtreecommitdiff
path: root/animism-align/cli
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-07-16 18:25:18 +0200
committerJules Laplace <julescarbon@gmail.com>2020-07-16 18:25:18 +0200
commite2e27ed91b8ed8a024223ad03be9d2566750e880 (patch)
tree24ab0b65ce5ca7987bdaf8a7d99d3d942bc1f19e /animism-align/cli
parentc4d20db0c6a8a0ba45a453ad1b5a3296db7a127e (diff)
cropping images and uploading multiple versions
Diffstat (limited to 'animism-align/cli')
-rw-r--r--animism-align/cli/app/controllers/upload_controller.py11
-rw-r--r--animism-align/cli/app/sql/models/upload.py2
-rw-r--r--animism-align/cli/app/utils/file_utils.py2
3 files changed, 11 insertions, 4 deletions
diff --git a/animism-align/cli/app/controllers/upload_controller.py b/animism-align/cli/app/controllers/upload_controller.py
index 5fec077..1a324cb 100644
--- a/animism-align/cli/app/controllers/upload_controller.py
+++ b/animism-align/cli/app/controllers/upload_controller.py
@@ -53,6 +53,11 @@ class UploadView(FlaskView):
except:
raise APIError('No username specified')
+ try:
+ tag = request.form.get('tag')
+ except:
+ raise APIError('No tag specified')
+
param_name = 'image'
if param_name not in request.files:
raise APIError('No file uploaded')
@@ -93,11 +98,10 @@ class UploadView(FlaskView):
session.close()
return jsonify(response)
- tag = request.form.get('tag')
uploaded_im_fn = secure_filename(file.filename)
uploaded_im_abspath = os.path.join(app_cfg.DIR_UPLOADS, tag)
uploaded_im_fullpath = os.path.join(uploaded_im_abspath, uploaded_im_fn)
- uploaded_im_stored_fn = os.path.join(tag, uploaded_im_fn)
+ uploaded_im_stored_fn = uploaded_im_fn
os.makedirs(uploaded_im_abspath, exist_ok=True)
# nparr.tofile(uploaded_im_fullpath)
@@ -128,9 +132,10 @@ class UploadView(FlaskView):
sha256 = upload.sha256
fn = upload.fn
+ tag = upload.tag
# uploaded_im_fn = secure_filename(fn)
- uploaded_im_abspath = os.path.join(app_cfg.DIR_UPLOADS, fn)
+ uploaded_im_abspath = os.path.join(app_cfg.DIR_UPLOADS, tag, fn)
# uploaded_im_fullpath = os.path.join(uploaded_im_abspath, fn)
if os.path.exists(uploaded_im_abspath):
print("Removing " + uploaded_im_abspath)
diff --git a/animism-align/cli/app/sql/models/upload.py b/animism-align/cli/app/sql/models/upload.py
index 462c236..ae30a54 100644
--- a/animism-align/cli/app/sql/models/upload.py
+++ b/animism-align/cli/app/sql/models/upload.py
@@ -43,5 +43,7 @@ class Upload(Base):
# return join(self.filepath(), self.filename())
def url(self):
+ if self.tag:
+ return join('/static/data_store/uploads', self.tag, self.fn)
return join('/static/data_store/uploads', self.fn)
# return join(app_cfg.URL_UPLOADS, sha256_tree(self.sha256), self.filename())
diff --git a/animism-align/cli/app/utils/file_utils.py b/animism-align/cli/app/utils/file_utils.py
index 7f1f417..1d19fd6 100644
--- a/animism-align/cli/app/utils/file_utils.py
+++ b/animism-align/cli/app/utils/file_utils.py
@@ -39,7 +39,7 @@ from tqdm import tqdm
ZERO_PADDING = 6 # padding for enumerated image filenames
HASH_TREE_DEPTH = 2
HASH_BRANCH_SIZE = 2
-VALID_IMAGE_EXTS = ['jpg', 'jpeg', 'png']
+VALID_IMAGE_EXTS = ['gif', 'jpg', 'jpeg', 'png']
VALID_VIDEO_EXTS = ['mp4', 'mov']
# ------------------------------------------