blob: 62d9c95f596e05a5a48508165bbd072509d3a8a4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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 uploaded 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
|