summaryrefslogtreecommitdiff
path: root/old/server/app/main/utils.py
diff options
context:
space:
mode:
authoradamhrv <adam@ahprojects.com>2018-12-16 01:03:14 +0100
committeradamhrv <adam@ahprojects.com>2018-12-16 01:03:14 +0100
commit10f467b64e3be528ac246d5cf664d675aca3e7f3 (patch)
tree02face1862f185796c3ddd08a274940626e31ff9 /old/server/app/main/utils.py
parenta52dc6f8edc4e5d00e7c05e34c6c6fe6252ec2bd (diff)
parentf91c6d8e870bd3b2c69a130e4b1ed8f6be250b92 (diff)
Merge branch 'master' of github.com:adamhrv/megapixels_dev
Diffstat (limited to 'old/server/app/main/utils.py')
-rw-r--r--old/server/app/main/utils.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/old/server/app/main/utils.py b/old/server/app/main/utils.py
new file mode 100644
index 00000000..510e5c23
--- /dev/null
+++ b/old/server/app/main/utils.py
@@ -0,0 +1,37 @@
+from flask import current_app as app
+from PIL import Image
+import numpy as np
+import cv2 as cv
+import os
+from os.path import join
+
+def ensure_pil(im):
+ try:
+ im.verify()
+ return im
+ except:
+ return Image.fromarray(im.astype('uint8'), 'RGB')
+
+def ensure_np(im):
+ if type(im) == np.ndarray:
+ return im
+ return np.asarray(im, np.uint8)
+
+def get_recent_uploads(limit=10):
+ d_uploads = app.config['UPLOADS']
+ d_renders = app.config['RENDERS']
+
+ # list all files in uploads dir
+ filenames = [s for s in os.listdir(d_uploads)
+ if os.path.isfile(os.path.join(d_uploads, s))]
+ # sort upload files by date
+ filenames.sort(key=lambda s: os.path.getmtime(os.path.join(d_uploads, s)),reverse=True)
+ basenames = [os.path.splitext(os.path.basename(f))[0] for f in filenames]
+ basenames = basenames[:limit]
+ filenames = [f for f in basenames if os.path.isfile(join(d_renders,'{}_dull.jpg'.format(f)))]
+
+ # create list for uploads and renders
+ uploads = [join('/img/uploads',f) for f in filenames]
+ renders = [join('/img/renders','{}_dull'.format(f)) for f in filenames]
+ urls = [join('/d',f) for f in basenames]
+ return uploads, renders, urls