From 6fc921d2d5524390405375850a32efd4cff6a9e2 Mon Sep 17 00:00:00 2001 From: Dev PC Date: Mon, 4 Aug 2025 20:39:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=D1=82=20=D0=B8=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BB=D0=BE=D0=B3?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asterisk_ami.py | 20 ++++++++++---------- call_handler.py | 20 +++++++++++--------- main.py | 1 - medods.py | 6 +++--- 4 files changed, 24 insertions(+), 23 deletions(-) diff --git a/asterisk_ami.py b/asterisk_ami.py index 1e00d8e..f776c24 100644 --- a/asterisk_ami.py +++ b/asterisk_ami.py @@ -4,7 +4,7 @@ import socket import aiofiles import call_handler import config -from main import logger +import logging def send_action(s, action): @@ -59,7 +59,7 @@ async def ami_listening(): while True: now = datetime.now() if now.hour == 23 and now.minute == 0 and now.second < 5: - logger.info("Checking pending calls...") + logging.info("Checking pending calls...") await callhandler.check_pending() await asyncio.sleep(60) else: @@ -70,21 +70,21 @@ async def ami_listening(): while True: try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - logger.info("Connecting to Asterisk...") + logging.info("Connecting to Asterisk...") s.connect((config.AMI_HOST, config.AMI_PORT)) break except ConnectionRefusedError: - logger.warning("Connection refused. Retrying...") + logging.warning("Connection refused. Retrying...") await asyncio.sleep(1) - logger.info("Connected to Asterisk") - logger.info("Logging in...") + logging.info("Connected to Asterisk") + logging.info("Logging in...") login_action = f"Action: Login\r\nUsername: {config.AMI_USER}\r\nSecret: {config.AMI_PASSWORD}\r\n\r\n" send_action(s, login_action) - logger.info("Logged in") - logger.info("Listening for events...") + logging.info("Logged in") + logging.info("Listening for events...") events_action = "Action: Events\r\nEventMask: on\r\n\r\n" send_action(s, events_action) @@ -97,9 +97,9 @@ async def ami_listening(): if config.DEBUG: await full_log(event) except (KeyboardInterrupt, SystemExit): - logger.info("Exiting...") + logging.info("Exiting...") s.close() daily_check_pending_task.cancel() except ConnectionResetError: - logger.warning("Connection reset. Restarting...") + logging.warning("Connection reset. Restarting...") await ami_listening() diff --git a/call_handler.py b/call_handler.py index f29ac7f..bf69653 100644 --- a/call_handler.py +++ b/call_handler.py @@ -1,5 +1,5 @@ from datetime import datetime -from main import logger +import logging import wave import config import medods @@ -32,11 +32,11 @@ class CallHandler: def check_date(): if self.date != datetime.now().date(): self.date = datetime.now().date() - logger.info(f"Date changed to {self.date} and reset calls database") + logging.info(f"Date changed to {self.date} and reset calls database") if config.DEBUG: if len(self.calls) > 0: - logger.warning("Calls unhandled:") - logger.warning(self.calls) + logging.warning("Calls unhandled:") + logging.warning(self.calls) self.finished = [] self.pending = [] self.calls = {} @@ -271,7 +271,7 @@ class CallHandler: await self.call_pending(linkedid) return except Exception as e: - logger.error(e) + logging.error(e) async def incoming_call(self, event, linkedid): def phone_number(number: str): @@ -297,13 +297,15 @@ class CallHandler: } exten = event.get("Exten") if event.get("Exten") else event.get("Extension") - logger.info(f"New incoming call: ID={linkedid}, Client={client}, Phone={exten}") + logging.info( + f"New incoming call: ID={linkedid}, Client={client}, Phone={exten}" + ) await medods.incoming_call(linkedid, client, exten) async def call_started(self, linkedid, responsible): self.calls[linkedid]["started"] = datetime.now() - logger.info(f"Call started: ID={linkedid}, Responsible={responsible}") + logging.info(f"Call started: ID={linkedid}, Responsible={responsible}") await medods.call_started(linkedid) async def call_pending(self, linkedid): @@ -406,7 +408,7 @@ class CallHandler: ).total_seconds() ) ) - logger.info( + logging.info( f"Call finished: ID={linkedid}, Duration={duration}, Record ID={uniqueid}" ) await medods.call_finished(linkedid, duration) @@ -417,5 +419,5 @@ class CallHandler: self.calls.pop(linkedid) async def call_lost(self, linkedid): - logger.info(f"Call lost: ID={linkedid}") + logging.info(f"Call lost: ID={linkedid}") await medods.call_lost(linkedid) diff --git a/main.py b/main.py index 0d58a2d..51b3317 100644 --- a/main.py +++ b/main.py @@ -13,7 +13,6 @@ if config.DEBUG: else: logging_conf = "logging.conf" -logger = logging.getLogger("main") logging.config.fileConfig(logging_conf) diff --git a/medods.py b/medods.py index 5c75b28..b77df36 100644 --- a/medods.py +++ b/medods.py @@ -10,9 +10,9 @@ import aiohttp def loggingDict(title: str, data: dict) -> None: call_id = data.get("call_session_id", "None") today = datetime.now().strftime("%Y-%m-%d") - file_name = f"log/post/{today}/{call_id}.log" - if not os.path.exists(f"log/post/{today}"): - os.makedirs(f"log/post/{today}") + file_name = f"log/{today}/{call_id}.log" + if not os.path.exists(f"log/{today}"): + os.makedirs(f"log/{today}") with open(file_name, "a") as f: f.write(f"{title}:\n{json.dumps(data, indent=4)}\n\n")