Commit b7921ea4 by arun.uday

commit5

parent 8fc6d080
import uvicorn
from scripts.config.application_config import uvicorn_app, uvicorn_port
from scripts.logging.loggers import logger
from scripts.config.application_config import uvicorn_port
# starting the application
# pip install python-multipart
if __name__ == "__main__":
try:
print("MQTT task")
uvicorn.run(uvicorn_app, port=int(uvicorn_port))
# pip install python-multipart
uvicorn.run("main:app", port=int(uvicorn_port))
except Exception as e:
logger.error("Interruption occurred: ", e)
import uvicorn
from fastapi import FastAPI
from scripts.config.application_config import uvicorn_port
from scripts.logging.loggers import logger
from scripts.services.app_services_run import sender_tasks
app = FastAPI()
app.include_router(sender_tasks)
# starting the application
if __name__ == "__main__":
try:
print("Fast API task")
uvicorn.run(app, port=int(uvicorn_port))
except Exception as e:
logger.error("Interruption occurred: ", e)
import json
from paho.mqtt.client import Client
from scripts.config import application_config
from scripts.core.handlers.dict_to_json import extract_data
from scripts.core.handlers.remove_list_json import remove_list
def extract_send_data():
dict_data = extract_data(application_config.full_path_csv)
list_removed = remove_list(dict_data)
json_data = json.dumps(list_removed)
client = Client()
client.connect(application_config.mqtt_host, int(application_config.mqtt_port))
client.publish(application_config.topic_name, json_data)
client.disconnect()
import logging
import os
from logging.handlers import RotatingFileHandler
from scripts.config import application_config
def get_logger():
"""
Creates a rotating log
"""
__logger__ = logging.getLogger('')
__logger__.setLevel(logging.INFO)
log_formatter = '%(asctime)s - %(levelname)-6s - %(message)s'
time_format = "%Y-%m-%d %H:%M:%S"
file_path = application_config.full_path
formatter = logging.Formatter(log_formatter, time_format)
if not os.path.exists(file_path):
os.makedirs(file_path)
log_file = os.path.join(f"{file_path}{application_config.db_name}.log")
temp_handler = RotatingFileHandler(log_file, maxBytes=1)
temp_handler.setFormatter(formatter)
__logger__.addHandler(temp_handler)
return __logger__
logger = get_logger()
from fastapi import FastAPI, Request, UploadFile, File
import json
from fastapi import APIRouter, Request, UploadFile, File
from fastapi.templating import Jinja2Templates
from fastapi.responses import HTMLResponse
from scripts.config.api_routes_config import api_upload, api_submit, api_csv
from scripts.config import application_config
from scripts.core.handlers.dict_to_json import extract_data
from scripts.core.handlers.remove_list_json import remove_list
from paho.mqtt.client import Client
from scripts.core.handlers.extracting_sending import extract_send_data
from scripts.core.handlers.uploaded_file_ import extract_uploaded_data
from scripts.logging.loggers import logger
app = FastAPI()
sender_tasks = APIRouter()
templates = Jinja2Templates(application_config.base_path + application_config.core_path +
application_config.handlers_path)
# html form access using api
@app.get(api_upload, response_class=HTMLResponse)
@sender_tasks.get(api_upload, response_class=HTMLResponse)
def template_render(request: Request):
try:
return templates.TemplateResponse(application_config.html_template, {"request": request})
except Exception as e:
logger.error("Some exception occurred : ", e)
# handling the form submit using api
@app.post(api_submit)
@sender_tasks.post(api_submit)
async def submit_file_data(file_data: UploadFile = File(...)):
try:
extract_uploaded_data(application_config.full_path_csv, file_data)
except Exception as e:
print(e)
logger.error("Some exception occurred while extracting the file: ", e)
else:
return {"msg": "file uploading successful..."}
# reading csv and loading the data to json finally publishing it to mqtt
@app.get(api_csv)
@sender_tasks.get(api_csv)
def dict_to_json():
try:
dict_data = extract_data(application_config.full_path_csv)
list_removed = remove_list(dict_data)
json_data = json.dumps(list_removed)
client = Client()
client.connect(application_config.mqtt_host, int(application_config.mqtt_port))
client.publish(application_config.topic_name, json_data)
client.disconnect()
extract_send_data()
except Exception as e:
print(e)
logger.error("Some exception occurred: ", e)
else:
print("Data published")
return {"msg": "Data published"}
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