| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #!/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
- app = Flask(__name__)
- d=db()
- @app.route(BASE_PATH + '/')
- def index():
- return "Hello world"
- @app.route(BASE_PATH + '/list/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, path relativo al webserver
- return jsonify(ret)
- @app.route(BASE_PATH + '/list/processed/')
- def processed_list():
- ret={'list': d.processed() }
- return jsonify(ret)
- @app.route(BASE_PATH + '/cut/', methods=["POST"])
- def cut():
- ret={"status":"Procesando"}
- today=datetime.date.today()
- data = request.get_json()
- video=d.raw(data["id"])
- out_filename="%s_%s_%s.mp4" % (data["curso"],
- today.strftime('%Y%m%d'),
- data["desc"])
- job = tasks.cut_video.delay(video["file"],
- str(data["inicio"]),
- str(data["fin"]),
- out_filename)
- ret["job_id"]=job.get_id()
- return jsonify(ret)
- @app.route(BASE_PATH + '/jobs/')
- def jobs():
- working = tasks.jobs()
- finished = d.getJobs()
- return json.dumps({"working":working, "finished":finished})
- @app.route(BASE_PATH + '/job')
- def job():
- job = tasks.jobrunner(tasks.long_job, ("test",))
- #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):
- try:
- ret=tasks.result(job_key)
- except Exception as e:
- print(e)
- return "Error. Probablemente job_key es invalido", 400
- return ret
- @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)
|