summaryrefslogtreecommitdiff
path: root/megapixels/app/server/api_task.py
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2019-01-13 00:54:13 +0100
committerJules Laplace <julescarbon@gmail.com>2019-01-13 00:54:13 +0100
commit47b6ae0f8ad2f49692222bb0c800e7ba1eb4b94b (patch)
tree0206451c15aec72128003d0e953a55b40b81b9a8 /megapixels/app/server/api_task.py
parentbb7efd0af0db8183b5b3f96ac0de1bfd9cd249ae (diff)
face info page
Diffstat (limited to 'megapixels/app/server/api_task.py')
-rw-r--r--megapixels/app/server/api_task.py40
1 files changed, 18 insertions, 22 deletions
diff --git a/megapixels/app/server/api_task.py b/megapixels/app/server/api_task.py
index 36990997..23e11454 100644
--- a/megapixels/app/server/api_task.py
+++ b/megapixels/app/server/api_task.py
@@ -6,30 +6,21 @@ import dlib
import simplejson as json
import numpy as np
from flask import Blueprint, request, jsonify
-from PIL import Image # todo: try to remove PIL dependency
-
-# from app.models.sql_factory import load_sql_datasets, list_datasets, get_dataset, get_table
-# from app.utils.im_utils import pil2np
+from PIL import Image, ImageOps # todo: try to remove PIL dependency
from celery.result import AsyncResult
from app.server.tasks import celery
from app.server.tasks import task_lookup, list_active_tasks
+# from app.models.sql_factory import load_sql_datasets, list_datasets, get_dataset, get_table
-api_task = Blueprint('api_task', __name__)
+api_task = Blueprint('task', __name__)
@api_task.route('/')
def index():
"""List active tasks"""
return jsonify(list_active_tasks)
-# from flask import render_template, redirect, url_for, send_from_directory
-# from flask import request, make_response, jsonify
-# from . import main, utils
-# from PIL import Image, ImageOps
-# import cv2 as cv
-# import imutils
-
-@api_task.route('/<task_name>/<task_id>')
+@api_task.route('/status/<task_name>/<task_id>')
def task_status(task_name, task_id):
"""Return celery image processing status"""
if task_name in task_lookup:
@@ -69,6 +60,9 @@ def task_status(task_name, task_id):
@api_task.route('/upload/sleep', methods=['GET', 'POST'])
def sleep_test():
+ """
+ Test the Celery system using a task that sleeps.
+ """
async_task = task_lookup['sleep']['task'].apply_async(args=['sleep_test'])
task_url = '/task/{}/{}'.format('sleep', async_task.id)
return jsonify({
@@ -76,10 +70,12 @@ def sleep_test():
'task_url': task_url,
})
-@api_task.route('/upload', methods=['POST'])
-def upload():
- style = request.form['style']
- print('style',style)
+@api_task.route('/upload/:style', methods=['POST'])
+def upload(style):
+ """
+ Process a images in a particular style
+ """
+ print('style: {}'.format(style))
if style in task_lookup:
task = task_lookup[style]['task']
print('task',task)
@@ -103,19 +99,19 @@ def upload():
# convert PNG to JPG
print('[+] Resizing image')
- # LOL MaskRCNN needs to be run outside of the Celery Task
im = Image.open(file.stream).convert('RGB')
- im = ImageOps.fit(im,(512,512))
+ im = ImageOps.fit(im, (256, 256))
# # Save image to disk
# print('[+] Save image to {}'.format(fpath))
# im.save(fpath, 'JPEG', quality=100)
# im_pil_256 = im.resize((256,256))
- print('[+] ensure_np...')
- im_np = imx.ensure_np(im_pil_256)
+ # print('[+] ensure_np...')
+ # im_np = imx.ensure_np(im_pil_256)
celery_result = {
+ im: im,
}
print('[+] Start celery')
@@ -124,6 +120,6 @@ def upload():
return jsonify({
'result': True,
- 'task_url': task_url,
+ 'taskURL': task_url,
'uuid': uuid_name
})