| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/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, request
- from rq import Queue
- from rq.job import Job
- from worker import conn
- app = Flask(__name__)
- d=db()
- @app.route(BASE_PATH + '/')
- def index():
- return "Hello world"
- @app.route(BASE_PATH + '/raw')
- 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():
- # 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()}
- return jsonify(ret)
- @app.route(BASE_PATH+"/results/<job_key>", methods=['GET'])
- def get_results(job_key):
- print(job_key)
- try:
- job = Job.fetch(job_key, connection=conn)
- except:
- return "Error. Probablemente job_key es invalido", 400
- if job.is_finished:
- return "Result: %s" % str(job.result), 200
- else:
- return "Process: %s" % json.dumps(job.meta) , 202
- @app.route(BASE_PATH + '/uploaded')
- def uploaded_list():
- ret=[]
- return jsonify(ret)
- if __name__ == '__main__':
- app.run(host="0.0.0.0",port=PORT, debug=True)
|