|
|
@@ -1,15 +1,14 @@
|
|
|
#!/usr/bin/env python3
|
|
|
+from constants import BASE_PATH,PORT
|
|
|
+import datetime
|
|
|
import json
|
|
|
import tasks
|
|
|
|
|
|
from db import db
|
|
|
-from flask import Flask, jsonify
|
|
|
+from flask import Flask, jsonify, request
|
|
|
from rq import Queue
|
|
|
from rq.job import Job
|
|
|
from worker import conn
|
|
|
-
|
|
|
-PORT = 8981
|
|
|
-BASE_PATH="/back" #changes based on webserver
|
|
|
app = Flask(__name__)
|
|
|
d=db()
|
|
|
@app.route(BASE_PATH + '/')
|
|
|
@@ -21,11 +20,25 @@ def raw_list():
|
|
|
ret={'list': d.raw() }
|
|
|
return jsonify(ret)
|
|
|
|
|
|
+@app.route(BASE_PATH + '/raw/<video_id>')
|
|
|
+def raw_file(video_id):
|
|
|
+ ret=d.raw(video_id)
|
|
|
+ ret["file"]=ret["file"].split("front")[1] #FIXME
|
|
|
+ return jsonify(ret)
|
|
|
+
|
|
|
+@app.route(BASE_PATH + '/cut/', methods=["POST"])
|
|
|
+def cut():
|
|
|
+ ret={"status":"Procesando"}
|
|
|
+ data = request.get_json()
|
|
|
+ video=d.raw(data["id"])
|
|
|
+ out_filename="%s_%s_%s.mp4" % (data["curso"], datetime.date.today().strftime('%Y%m%d'), data["desc"])
|
|
|
+ job = tasks.cut_video.delay(video["file"],data["inicio"],data["fin"],out_filename)
|
|
|
+ ret["job_id"]=job.get_id()
|
|
|
+ return jsonify(ret)
|
|
|
+
|
|
|
@app.route(BASE_PATH + '/job')
|
|
|
def job():
|
|
|
- # func=tasks.cut_video , args=("/home/david/movie-1467033043.flv","0:45","1:48:00","/home/david/salida-cortada.mp4",), result_ttl=5000
|
|
|
- #job = tasks.long_job.delay("test")
|
|
|
- job = tasks.cut_video.delay("/home/david/movie-1467033043.flv","0:45","1:48:00","/home/david/salida-cortada.mp4")
|
|
|
+# job = tasks.long_job.delay("test")
|
|
|
# job = tasks.upload_video.delay("titulo","/home/david/photo_2016-07-10_13-49-56.jpg","/home/david/movie-1467033043.flv")
|
|
|
|
|
|
ret = {"id":job.get_id()}
|
|
|
@@ -37,17 +50,17 @@ def job():
|
|
|
def get_results(job_key):
|
|
|
|
|
|
print(job_key)
|
|
|
- job = Job.fetch(job_key, connection=conn)
|
|
|
+ try:
|
|
|
+ job = Job.fetch(job_key, connection=conn)
|
|
|
+ except:
|
|
|
+ return "Error. Probablemente job_key es invalido", 400
|
|
|
+
|
|
|
|
|
|
if job.is_finished:
|
|
|
- return str(job.result), 200
|
|
|
+ return "Result: %s" % str(job.result), 200
|
|
|
else:
|
|
|
- return "%s" % json.dumps(job.meta) , 202
|
|
|
+ return "Process: %s" % json.dumps(job.meta) , 202
|
|
|
|
|
|
-@app.route(BASE_PATH + '/cut')
|
|
|
-def cut_list():
|
|
|
- ret=[]
|
|
|
- return jsonify(ret)
|
|
|
|
|
|
@app.route(BASE_PATH + '/uploaded')
|
|
|
def uploaded_list():
|