From 46d46050992c0742bdffcdfcba510a964b4e8382 Mon Sep 17 00:00:00 2001 From: PAN Lei Date: Tue, 29 Mar 2022 12:14:14 +0200 Subject: [PATCH] remove unused libs and try to use dotenv --- logs/LogSender.py | 3 ++- params.py | 15 +++++---------- requirements.txt | 1 - valid_profile.xlsx | Bin 18371 -> 0 bytes 4 files changed, 7 insertions(+), 12 deletions(-) delete mode 100644 valid_profile.xlsx diff --git a/logs/LogSender.py b/logs/LogSender.py index 76ef3da..8830483 100644 --- a/logs/LogSender.py +++ b/logs/LogSender.py @@ -6,6 +6,7 @@ import oci from oci.loggingingestion import LoggingClient from oci.loggingingestion.models import PutLogsDetails, LogEntryBatch, LogEntry +import params from logs.AppLogging import init_logger from pojo import ReserveResultPojo from pojo.ReserveResultPojo import PublishType @@ -43,7 +44,7 @@ class LogSender: msg = "{}, email: {}".format(result.message, result.email) self.send_log(msg, type=LOG_APPOINTMENT_ERROR) - def send_log(self, msg: str, source="Appointment", subject="appointment", type: str = "INFO"): + def send_log(self, msg: str, source=params.LOG_SOURCE, subject="appointment", type: str = "INFO"): log_id = "ocid1.log.oc1.eu-frankfurt-1.amaaaaaacvc3jtia5enufv5jxe6binq4ndaty7pt5mk7uidipfd62ynwdhnq" response = self._loggingingestion_client.put_logs( log_id=log_id, diff --git a/params.py b/params.py index a48a1ca..d7ae219 100644 --- a/params.py +++ b/params.py @@ -1,8 +1,10 @@ -import pika +import os from db.DbManager import DataManager from logs.LogSender import LogSender +from dotenv import load_dotenv +load_dotenv() MODEM_POOL_PORTS = [ "/dev/tty.usbmodem1431101", "/dev/tty.usbmodem1431103", @@ -22,18 +24,11 @@ MODEM_POOL_PORTS = [ "/dev/tty.usbmodem1431407" ] CARD_POOL_PORT = "/dev/tty.usbmodem1432101" - +LOG_SOURCE = os.getenv("LOG_SOURCE") firebase_store_manager = DataManager() oracle_log_sender = LogSender() # proxy PROXY_SERVER = "http://gw.ntnt.io:5959" PROXY_USERNAME = "panleicim-stc-fr-192012" -PROXY_PASSWORD = "94sY7zwBG13i" - -# rabittmq -rabittMQ_host = "rabbitmq.lpaconsulting.fr" -rabittMQ_port = 6672 -_credentials = pika.PlainCredentials('scrapy_rabbitmq', '4x!hReCbA5v3heKWfPJV-Y') -rabittmq_connection = pika.BlockingConnection( - pika.ConnectionParameters(host='rabbitmq.lpaconsulting.fr', port=6672, credentials=_credentials)) \ No newline at end of file +PROXY_PASSWORD = "94sY7zwBG13i" \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index ef6152b..b0dde81 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,6 @@ dataclasses_json==0.5.6 firebase_admin==5.2.0 pandas==1.4.1 -pika==1.2.0 playwright==1.19.0 pyserial==3.5 python_gsmmodem_new==0.13.0 diff --git a/valid_profile.xlsx b/valid_profile.xlsx deleted file mode 100644 index 4b9fac9c29c7d772e9fbebe2a64b28a291db06eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18371 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