Commit f53f393e authored by suryakant's avatar suryakant

Merge remote-tracking branch 'origin/develop_suryakant' into develop_suryakant

# Conflicts:
#	scripts/core/handler/event_handler.py
parents d06e70a4 7f2a8b89
custom_report_json = [ custom_report_json = [{}]
{
}
]
""" """
This __init__ file contains the configuration settings for the application This __init__ file contains the configuration settings for the application
""" """
import os
import shutil
from pydantic import BaseSettings from pydantic import BaseSettings
from dotenv import load_dotenv from dotenv import load_dotenv
...@@ -15,6 +13,7 @@ class SecurityDetails(BaseSettings): ...@@ -15,6 +13,7 @@ class SecurityDetails(BaseSettings):
""" """
Configuration class for security token details Configuration class for security token details
""" """
secure_cookie: bool secure_cookie: bool
lock_out_time_mins: int lock_out_time_mins: int
leeway_in_mins: int leeway_in_mins: int
...@@ -29,6 +28,7 @@ class ServiceDetails(BaseSettings): ...@@ -29,6 +28,7 @@ class ServiceDetails(BaseSettings):
""" """
Configuration class for application service details Configuration class for application service details
""" """
host_name: str host_name: str
port_name: str port_name: str
env: str env: str
...@@ -39,6 +39,7 @@ class LoggingDetails(BaseSettings): ...@@ -39,6 +39,7 @@ class LoggingDetails(BaseSettings):
""" """
Configuration class for logging database details Configuration class for logging database details
""" """
log_base_path: str log_base_path: str
log_level: str log_level: str
max_bytes: int max_bytes: int
...@@ -54,6 +55,7 @@ class PostgresDetails(BaseSettings): ...@@ -54,6 +55,7 @@ class PostgresDetails(BaseSettings):
Config: Config:
env_prefix (str): The environment variable prefix for PostgreSQL settings. env_prefix (str): The environment variable prefix for PostgreSQL settings.
""" """
uri: str uri: str
host: str host: str
port: str port: str
......
...@@ -19,6 +19,7 @@ class APIConstants: ...@@ -19,6 +19,7 @@ class APIConstants:
""" """
Constants related to API endpoints Constants related to API endpoints
""" """
STARTUP = "startup" STARTUP = "startup"
SHUTDOWN = "shutdown" SHUTDOWN = "shutdown"
HEALTH_CHECK = "/healthcheck" HEALTH_CHECK = "/healthcheck"
...@@ -30,6 +31,7 @@ class CommonConstants: ...@@ -30,6 +31,7 @@ class CommonConstants:
""" """
Common constants used in the application Common constants used in the application
""" """
GET = "GET" GET = "GET"
POST = "POST" POST = "POST"
CUSTOM_REPORT_TAG = "Event Handler Endpoints" CUSTOM_REPORT_TAG = "Event Handler Endpoints"
...@@ -51,6 +53,7 @@ class ReportType: ...@@ -51,6 +53,7 @@ class ReportType:
""" """
Constants related to ReportType Constants related to ReportType
""" """
REFINERY_REPORT = "refinery_report" REFINERY_REPORT = "refinery_report"
......
...@@ -7,14 +7,11 @@ class GeneralException(Exception): ...@@ -7,14 +7,11 @@ class GeneralException(Exception):
class ErrorMessages: class ErrorMessages:
""" """ """
"""
CONNECTION_EXCEPTION = "" CONNECTION_EXCEPTION = ""
COMMON_MESSAGE = "" COMMON_MESSAGE = ""
class PostgresDBError: class PostgresDBError:
""" """ """
"""
...@@ -66,6 +66,7 @@ class CustomReportHandler: ...@@ -66,6 +66,7 @@ class CustomReportHandler:
""" """
for each_blocks in input_json: for each_blocks in input_json:
# Iterating each blocks for fetching query # Iterating each blocks for fetching query
print(each_blocks)
if input_json[each_blocks][CommonConstants.QUERY]: if input_json[each_blocks][CommonConstants.QUERY]:
for each_kpi in input_json[each_blocks][CommonConstants.QUERY]: for each_kpi in input_json[each_blocks][CommonConstants.QUERY]:
...@@ -92,19 +93,17 @@ class CustomReportHandler: ...@@ -92,19 +93,17 @@ class CustomReportHandler:
if not temp_data_dict: if not temp_data_dict:
# Creating null values if no data # Creating null values if no data
for each_columns in input_json[each_blocks][ for each_columns in input_json[each_blocks]["data_column"]:
CommonConstants.DATA_COLUMN]:
temp_data_dict.update({each_columns: None}) temp_data_dict.update({each_columns: None})
input_json[each_blocks][CommonConstants.DATA].append(temp_data_dict) input_json[each_blocks]["data"].append(temp_data_dict)
else: else:
temp_data_dict = dict() temp_data_dict = dict()
for each_columns in input_json[each_blocks][ for each_columns in input_json[each_blocks]["data_column"]:
CommonConstants.DATA_COLUMN]:
temp_data_dict.update( temp_data_dict.update(
{each_columns: None} {each_columns: None}
) )
input_json[each_blocks][CommonConstants.DATA].append(temp_data_dict) input_json[each_blocks]["data"].append(temp_data_dict)
return input_json return input_json
def custom_report_handler(self, input_json): def custom_report_handler(self, input_json):
...@@ -114,7 +113,7 @@ class CustomReportHandler: ...@@ -114,7 +113,7 @@ class CustomReportHandler:
""" """
status = False status = False
message = "Error generating a message" message = "Error generating a message"
data = CommonConstants.DATA data = "Data"
try: try:
# if str(input_json.job_type).lower() == ReportType.REFINERY_REPORT: # if str(input_json.job_type).lower() == ReportType.REFINERY_REPORT:
if str(input_json["job_type"]).lower() == ReportType.REFINERY_REPORT: if str(input_json["job_type"]).lower() == ReportType.REFINERY_REPORT:
...@@ -127,7 +126,7 @@ class CustomReportHandler: ...@@ -127,7 +126,7 @@ class CustomReportHandler:
each_blocks = self.get_queries_from_db( each_blocks = self.get_queries_from_db(
input_json=each_blocks, date_filter=each_date_range input_json=each_blocks, date_filter=each_date_range
) )
print(each_blocks) # print(each_blocks)
print("=========================================") print("=========================================")
break break
......
...@@ -17,7 +17,7 @@ from scripts.core.logging.application_logging import logger ...@@ -17,7 +17,7 @@ from scripts.core.logging.application_logging import logger
from scripts.constants import APIConstants, CommonConstants, figlet from scripts.constants import APIConstants, CommonConstants, figlet
from scripts.core.schemas.api import ( from scripts.core.schemas.api import (
custom_report_input_model, custom_report_input_model,
custom_report_output_model custom_report_output_model,
) )
report_handler_obj = CustomReportHandler() report_handler_obj = CustomReportHandler()
...@@ -40,8 +40,7 @@ async def shutdown_event(): ...@@ -40,8 +40,7 @@ async def shutdown_event():
print("Exiting!") print("Exiting!")
@event_router.get( @event_router.get(APIConstants.HEALTH_CHECK)
APIConstants.HEALTH_CHECK)
async def ping(): async def ping():
""" """
This function returns the `200 status message`. This function returns the `200 status message`.
...@@ -50,7 +49,8 @@ async def ping(): ...@@ -50,7 +49,8 @@ async def ping():
@event_router.post( @event_router.post(
APIConstants.CUSTOM_REPORT_ENDPOINT, response_model=custom_report_output_model) APIConstants.CUSTOM_REPORT_ENDPOINT, response_model=custom_report_output_model
)
async def custom_report_function(input_json: custom_report_input_model): async def custom_report_function(input_json: custom_report_input_model):
""" """
Initiate postgres db and create tables Initiate postgres db and create tables
......
...@@ -23,8 +23,11 @@ class PostgresDBUtility: ...@@ -23,8 +23,11 @@ class PostgresDBUtility:
def create_connection(self, db=None): def create_connection(self, db=None):
_db = db or self.db_name _db = db or self.db_name
conn = psycopg2.connect( conn = psycopg2.connect(
database=_db, user=self.username, password=self.password, host=self.host, database=_db,
port=self.port user=self.username,
password=self.password,
host=self.host,
port=self.port,
) )
logger.debug("Connection established successfully") logger.debug("Connection established successfully")
return conn return conn
...@@ -125,8 +128,11 @@ class PostgresDBUtility: ...@@ -125,8 +128,11 @@ class PostgresDBUtility:
cursor.execute(query) cursor.execute(query)
json = cursor.fetchall() json = cursor.fetchall()
list_of_lists = list( list_of_lists = list(
map(lambda each: [each["plant"], each["line"], each["machine"]], map(
json)) lambda each: [each["plant"], each["line"], each["machine"]],
json,
)
)
except Exception as e: except Exception as e:
logger.error(f"Exception while fetching {str(e)}") logger.error(f"Exception while fetching {str(e)}")
except Exception as e: except Exception as e:
...@@ -232,7 +238,8 @@ class PostgresDBUtility: ...@@ -232,7 +238,8 @@ class PostgresDBUtility:
except Exception as e: except Exception as e:
logger.exception( logger.exception(
f"Exception in the check table existance definition{str(e)}") f"Exception in the check table existance definition{str(e)}"
)
finally: finally:
try: try:
......
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