Added v1 API

This commit is contained in:
Navan Chauhan 2020-07-12 21:37:37 +05:30
parent 9cfcd4e9e1
commit 24f7dd79a6
4 changed files with 44 additions and 2 deletions

View File

@ -1 +1,2 @@
web: gunicorn -w 4 -b "0.0.0.0:$PORT" app:app # web: gunicorn -w 4 -b "0.0.0.0:$PORT" app:app
web: gunicorn -w 4 api:app -k uvicorn.workers.UvicornWorker -b "0.0.0.0:$PORT"

40
api.py Normal file
View File

@ -0,0 +1,40 @@
from app import app as flask_app
#app.run(debug=True, host="0.0.0.0", port=8080)
from fastapi import Body,FastAPI
from fastapi.middleware.wsgi import WSGIMiddleware
from flask import Flask, escape, request
from pydantic import BaseModel
import mysql.connector as con
mycon = con.connect(host=flask_app.config['DB_HOST'],user=flask_app.config['DB_USER'],password=flask_app.config['DB_PASSWORD'],port=flask_app.config['DB_PORT'],database=flask_app.config['DB_NAME'])
mycursor = mycon.cursor()
"""
@flask_app.route("/")
def flask_main():
name = request.args.get("name", "World")
return f"Hello, {escape(name)} from Flask!"
"""
app = FastAPI()
@app.get("/v1")
def API_Version():
return {"message":"Curie-API v1"}
@app.get("/v1/status/{job_id}")
def get_status(job_id: str):
sqlQuery = 'select id, protein_name, ligand_name, date, description, done from curieweb where id="%s"' % (job_id)
mycursor.execute(sqlQuery)
records = mycursor.fetchall()
if records == []:
return {"message":"Invalid Job ID"}
r = records[0]
return {"job_id":r[0],"Protein Name":r[1],"Ligand Name":r[2],"Submitted On":r[3],"Job Description":r[4],"Job Status":r[5]}
app.mount("/", WSGIMiddleware(flask_app))

View File

@ -3,7 +3,7 @@ from flask import Flask
# Config Values # Config Values
# location where file uploads will be stored # location where file uploads will be stored
UPLOAD_FOLDER = './app/static/uploads' UPLOAD_FOLDER = './app/static/uploads'
DB_HOST = '192.168.1.6' #'navanspi.duckdns.org' DB_HOST = 'navanspi.duckdns.org' #'navanspi.duckdns.org'
DB_PORT = 3306 DB_PORT = 3306
DB_USER = 'curieweb' DB_USER = 'curieweb'
DB_PASSWORD = 'curie-web-russian-54' DB_PASSWORD = 'curie-web-russian-54'

View File

@ -7,6 +7,7 @@ Jinja2==2.11.0
MarkupSafe==1.1.1 MarkupSafe==1.1.1
Werkzeug==0.16.1 Werkzeug==0.16.1
WTForms==2.2.1 WTForms==2.2.1
fastapi==0.59.0
tabulate tabulate
untangle untangle
mysql_connector mysql_connector