Commit d2aa0cd8 by arun.uday

commit4

parent 08549d4a
# using mongo aggregation operations
import uvicorn
from scripts.config.applications_config import uvicorn_app, uvicorn_port
# starting the application
if __name__ == "__main__":
print("Fast API task")
uvicorn.run("scripts.services.app_services_run:app", port=8000)
print("Mongo Aggregations task")
uvicorn.run(uvicorn_app, port=int(uvicorn_port))
# pip install python-multipart
......@@ -9,4 +9,12 @@ file_name_xlsx = data.xlsx
mongodb = mongodb://localhost:27017
[mongodb]
project = $project
\ No newline at end of file
project = $project
[uvicorn]
uvicorn_port = 8000
uvicorn_app = scripts.services.app_services_run:app
[api_routes]
route_index = /upload/
route_submit = /submit_file/
# reading conf file
import configparser
config = configparser.RawConfigParser()
config.read("conf/applications.conf")
# api routes
route_index = config.get("api_routes", 'route_index')
route_submit = config.get("api_routes", 'route_submit')
......@@ -10,6 +10,9 @@ config.read("conf/applications.conf")
base_path = config.get("path", 'base_path')
sub_path = config.get("path", "sub_path")
# uvicorn
uvicorn_port = config.get("uvicorn", "uvicorn_port")
uvicorn_app = config.get("uvicorn", "uvicorn_app")
# file name
file_name_xlsx = config.get("file", "file_name_xlsx")
......
......@@ -8,6 +8,7 @@ def generate_excel(path_xlsx, cursor_data):
for business_names in cursor_data:
data_list.append(business_names)
data_frame = pd.DataFrame(data_list, columns=['result', 'business_name', 'date'])
print(data_frame)
data_frame.to_excel(path_xlsx, index=False)
else:
print("Error")
......@@ -2,6 +2,7 @@ from fastapi import FastAPI, Request, UploadFile, File
from fastapi.templating import Jinja2Templates
from fastapi.responses import HTMLResponse
from scripts.config.api_routes_config import route_index, route_submit
from scripts.config.applications_config import full_path_xlsx
from scripts.core.handlers.generate_excel_file import generate_excel
from scripts.core.handlers.uploaded_file_ import extract_uploaded_data
......@@ -12,13 +13,13 @@ templates = Jinja2Templates("scripts/core/handlers/")
# html form access using api
@app.get("/upload/", response_class=HTMLResponse)
@app.get(route_index, response_class=HTMLResponse)
def template_render(request: Request):
return templates.TemplateResponse("upload_file.html", {"request": request})
# handling the form submit using api and aggregations
@app.post("/submit_file/")
@app.post(route_submit)
async def submit_file_data(file_data: UploadFile = File(...)):
try:
data_read = await file_data.read()
......
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment