Add SonarCloud recommendations
This commit is contained in:
		| @@ -21,7 +21,7 @@ if config.sentry_enabled: | ||||
|  | ||||
|  | ||||
| def create_bot() -> WebexBot: | ||||
|     # Create a Bot Object | ||||
|     """Create and return a Webex Bot object.""" | ||||
|     webex_bot: WebexBot = WebexBot( | ||||
|         bot_name=config.bot_name, | ||||
|         teams_bot_token=config.webex_token, | ||||
|   | ||||
| @@ -1,10 +1,12 @@ | ||||
| #!/usr/bin/env python3 | ||||
| """Configuration module.""" | ||||
|  | ||||
| import os | ||||
|  | ||||
|  | ||||
| class Config: | ||||
|     """Configuration module.""" | ||||
|     def __init__(self) -> None: | ||||
|         """Configuration module.""" | ||||
|         self.__environment: str = os.environ.get("APP_LIFECYCLE", "DEV").upper() | ||||
|         self.__bot_name: str = os.environ["BOT_NAME"] | ||||
|         self.__webex_token: str = os.environ["WEBEX_API_KEY"] | ||||
| @@ -12,40 +14,52 @@ class Config: | ||||
|         self.__admin_emails: list = os.environ["ADMIN_EMAIL"].split(",") | ||||
|         self.__n8n_webhook_url: str = os.environ["N8N_WEBHOOK_URL"] | ||||
|         self.__sentry_dsn: str = os.environ.get("SENTRY_DSN", "") | ||||
|         self.__sentry_enabled: bool = True if (os.environ.get("SENTRY_ENABLED", "False").upper() == "TRUE" and self.__sentry_dsn != "") else False | ||||
|         self.__sentry_enabled: bool = bool( | ||||
|             os.environ.get("SENTRY_ENABLED", "False").upper() == "TRUE" | ||||
|             and self.__sentry_dsn != "" | ||||
|         ) | ||||
|  | ||||
|     @property | ||||
|     def environment(self) -> str: | ||||
|         """Returns the current app lifecycle.""" | ||||
|         return self.__environment | ||||
|      | ||||
|  | ||||
|     @property | ||||
|     def sentry_enabled(self) -> bool: | ||||
|         """Returns True if Sentry SDK is enabled, else False.""" | ||||
|         return self.__sentry_enabled | ||||
|      | ||||
|  | ||||
|     @property | ||||
|     def sentry_dsn(self) -> str: | ||||
|         """Returns the Sentry DSN value if Sentry SDK is enabled AND | ||||
|         Sentry DSN is set, else blank string.""" | ||||
|         if not self.__sentry_enabled: | ||||
|             return "" | ||||
|         return self.__sentry_dsn | ||||
|      | ||||
|  | ||||
|     @property | ||||
|     def bot_name(self) -> str: | ||||
|         """Returns the bot name.""" | ||||
|         return self.__bot_name | ||||
|  | ||||
|     @property | ||||
|     def webex_token(self) -> str: | ||||
|         """Returns the Webex API key.""" | ||||
|         return self.__webex_token | ||||
|  | ||||
|     @property | ||||
|     def admin_first_name(self) -> str: | ||||
|         """Returns the first name of the bot admin.""" | ||||
|         return self.__admin_first_name | ||||
|  | ||||
|     @property | ||||
|     def admin_emails(self) -> list: | ||||
|         """Returns a list of admin email addresses.""" | ||||
|         return self.__admin_emails | ||||
|  | ||||
|     @property | ||||
|     def n8n_webhook_url(self) -> str: | ||||
|         """Returns the n8n webhook URL.""" | ||||
|         return self.__n8n_webhook_url | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,18 @@ | ||||
| #!/usr/bin/env python3 | ||||
|  | ||||
| import pytz | ||||
|  | ||||
| from datetime import datetime | ||||
|  | ||||
|  | ||||
| def timestamp_to_date(timestamp: int) -> str: | ||||
|     return datetime.utcfromtimestamp(timestamp).strftime("%Y-%m-%d") | ||||
|     """Convert timestamp to date. | ||||
|      | ||||
|     Args: | ||||
|         timestamp (int): Timestamp to convert. | ||||
|      | ||||
|     Returns: | ||||
|         str: Date in the format YYYY-MM-DD. | ||||
|     """ | ||||
|     return datetime.fromtimestamp(timestamp=timestamp, tz=pytz.utc).strftime("%Y-%m-%d") | ||||
|  | ||||
|   | ||||
| @@ -5,6 +5,14 @@ from app.utils.config import config | ||||
|  | ||||
|  | ||||
| def __n8n_post(data: dict) -> bool: | ||||
|     """Post data to N8N webhook URL. | ||||
|      | ||||
|     Args: | ||||
|         data (dict): Data to post to webhook URL. | ||||
|      | ||||
|     Returns: | ||||
|         bool: True if successful, else False. | ||||
|     """ | ||||
|     headers: dict = {"Content-Type": "application/json"} | ||||
|     resp: requests.Response = requests.post( | ||||
|         url=config.n8n_webhook_url, | ||||
| @@ -17,6 +25,17 @@ def __n8n_post(data: dict) -> bool: | ||||
|  | ||||
|  | ||||
| def submit_task(summary, description, completion_date, requestor) -> bool: | ||||
|     """Submit task to N8N webhook URL. | ||||
|      | ||||
|     Args: | ||||
|         summary (str): Summary of task. | ||||
|         description (str): Description of task. | ||||
|         completion_date (str): Completion date of task. | ||||
|         requestor (str): Requestor of task. | ||||
|      | ||||
|     Returns: | ||||
|         bool: True if successful, else False. | ||||
|     """ | ||||
|     with sentry_sdk.start_transaction(name="submit_task"): | ||||
|         data: dict = { | ||||
|             "requestor": requestor, | ||||
| @@ -29,6 +48,14 @@ def submit_task(summary, description, completion_date, requestor) -> bool: | ||||
|  | ||||
|  | ||||
| def get_tasks(requestor) -> bool: | ||||
|     """Get tasks from N8N webhook URL. | ||||
|      | ||||
|     Args: | ||||
|         requestor (str): Requestor of tasks. | ||||
|      | ||||
|     Returns: | ||||
|         bool: True if successful, else False. | ||||
|     """ | ||||
|     with sentry_sdk.start_transaction(name="get_tasks"): | ||||
|         headers: dict = {"Content-Type": "application/json"} | ||||
|         resp: requests.Response = requests.get( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user