Commit e3436e9d authored by arun.uday's avatar arun.uday

migrate to gitlab-pm

parents
# Default ignored files
/shelf/
/workspace.xml
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (task10mqttreceiver2)" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/task10mqttreceiver2.iml" filepath="$PROJECT_DIR$/.idea/task10mqttreceiver2.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/venv" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
# using MQTT multi topic task
import uvicorn
from scripts.config.applications_config import uvicorn_port
from scripts.logging.loggers import logger
# starting the application
if __name__ == "__main__":
try:
print("MQTT multi topic task")
uvicorn.run("main:app", port=int(uvicorn_port))
except Exception as e:
logger.error("Interruption occurred: ", e)
# pip install python-multipart
[mqtt]
mqtt_host = 192.168.0.220
port = 1883
topic = KL/Arun
[api_routes]
api_index = /index/
[uvicorn]
uvicorn_port = 8001
[path]
base_path = scripts/
sub_path = temp/
log_path = log/
log_file = task10
[log]
formatter_time = asctime
formatter_level = levelname
\ No newline at end of file
# using MQTT multi topic task
import uvicorn
from scripts.config.applications_config import uvicorn_port
from fastapi import FastAPI
from scripts.logging.loggers import logger
from scripts.services.run_service_receiver import receiver_mqtt
app = FastAPI()
app.include_router(receiver_mqtt)
# starting the application
if __name__ == "__main__":
try:
print("MQTT multi topic task")
uvicorn.run(app, port=int(uvicorn_port))
except Exception as e:
logger.error("Interruption occurred: ", e)
# pip install python-multipart
import configparser
config = configparser.RawConfigParser()
config.read("conf/applications.conf")
# uvicorn
uvicorn_port = config.get("uvicorn", "uvicorn_port")
# mqtt
topic_name = config.get("mqtt", "topic")
mqtt_host = config.get("mqtt", "mqtt_host")
port = config.get("mqtt", "port")
# path
base_path = config.get("path", 'base_path')
sub_path = config.get("path", "sub_path")
log_path = config.get("path", "log_path")
log_file = config.get("path", "log_file")
# log
formatter_time = config.get("log", "formatter_time")
formatter_level = config.get("log", "formatter_level")
import configparser
config = configparser.RawConfigParser()
config.read("conf/applications.conf")
# api routes
api_index = config.get("api_routes", 'api_index')
from paho.mqtt.client import Client
from scripts.config.applications_config import mqtt_host, port
from scripts.logging.loggers import logger
def connect_mqtt():
try:
def on_connect(client_id, userdata, flags, rc):
print(client_id, " ", userdata, " ", flags)
if rc == 0:
print("Connected to MQTT Broker!")
else:
print("Failed to connect, return code %d\n", rc)
client = Client()
client.on_connect = on_connect
client.connect(mqtt_host, int(port))
return client
except Exception as e:
logger.error("Exception occurred while connecting to the mqtt: ", e)
from scripts.logging.loggers import logger
def subscribe(client):
try:
def on_message(client_id, userdata, msg):
print(client_id, " ", userdata)
print(f"Received `{msg.payload.decode()}` from `{msg.topic}` topic")
client.subscribe("KL/#")
client.on_message = on_message
except Exception as e:
logger.error("Exception occurred while subscribing to the mqtt: ", e)
import logging
import os
from logging.handlers import RotatingFileHandler
from scripts.config import applications_config
from scripts.config.applications_config import formatter_time, formatter_level
def get_logger():
"""
Creates a rotating log
"""
__logger__ = logging.getLogger('')
__logger__.setLevel(logging.INFO)
log_formatter = f'%({formatter_time})s - %({formatter_level})-6s - %(message)s'
time_format = "%Y-%m-%d %H:%M:%S"
file_path = applications_config.base_path + applications_config.sub_path + applications_config.log_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}{applications_config.log_file}.log")
temp_handler = RotatingFileHandler(log_file, maxBytes=1)
temp_handler.setFormatter(formatter)
__logger__.addHandler(temp_handler)
return __logger__
logger = get_logger()
from scripts.constants.api_route_config import api_index
from scripts.core.handlers.connection_check import connect_mqtt
from fastapi import APIRouter
from scripts.core.handlers.subscribe_mqtt import subscribe
from scripts.logging.loggers import logger
receiver_mqtt = APIRouter()
@receiver_mqtt.get(api_index)
def receiver_get():
try:
client = connect_mqtt()
subscribe(client)
client.loop_forever()
except Exception as e:
logger.error("Exception occurred while receiving the mqtt: ", e)
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