updated email services
This commit is contained in:
parent
22876d250d
commit
3e1ba4cb67
|
|
@ -19,16 +19,14 @@ def collect_excel_files_from_mongo_database(mongo_provider) -> list:
|
|||
|
||||
|
||||
def update_parsed_data_to_mongo_database(
|
||||
mongo_provider, collected_data_dict: dict, filename: str
|
||||
mongo_provider, collected_data_dict: list[dict], filename: str
|
||||
) -> None:
|
||||
if collected_data_dict:
|
||||
payload = collected_data_dict[filename]
|
||||
if payload:
|
||||
mongo_provider.update_one(
|
||||
filter_query={"filename": filename},
|
||||
update_data={"$set": {"parsed": payload, "stage": "parsed"}},
|
||||
)
|
||||
return
|
||||
mongo_provider.update_one(
|
||||
filter_query={"filename": filename},
|
||||
update_data={"$set": {"parsed": collected_data_dict, "stage": "parsed"}},
|
||||
)
|
||||
return
|
||||
mongo_provider.update_one(
|
||||
filter_query={"filename": filename},
|
||||
update_data={"$set": {"parsed": None, "stage": "not found"}},
|
||||
|
|
@ -36,14 +34,14 @@ def update_parsed_data_to_mongo_database(
|
|||
return
|
||||
|
||||
|
||||
def parse_excel_file(excel_frame: DataFrame, excel_name: str) -> dict:
|
||||
iban, data_dict = "", {}
|
||||
def parse_excel_file(excel_frame: DataFrame) -> list[dict]:
|
||||
iban, data_list = "", []
|
||||
for row in excel_frame.itertuples():
|
||||
if "IBAN" in str(row[3]).upper():
|
||||
iban = str(row[5]).replace(" ", "")
|
||||
if not str(row[1]) == "nan" and not str(row[2]) == "nan":
|
||||
if len(str(row[1]).split("/")) > 2:
|
||||
data_dict[excel_name] = dict(
|
||||
data_list.append(dict(
|
||||
iban=str(iban),
|
||||
bank_date=arrow.get(
|
||||
datetime.datetime.strptime(str(row[1]), "%d/%m/%Y-%H:%M:%S")
|
||||
|
|
@ -60,8 +58,8 @@ def parse_excel_file(excel_frame: DataFrame, excel_name: str) -> dict:
|
|||
process_type=unidecode(str(row[8])),
|
||||
process_comment=unidecode(str(row[9])),
|
||||
bank_reference_code=str(row[15]),
|
||||
)
|
||||
return data_dict
|
||||
))
|
||||
return data_list
|
||||
|
||||
|
||||
def app():
|
||||
|
|
@ -83,7 +81,7 @@ def app():
|
|||
excel_frame = DataFrame(read_excel(io.BytesIO(payload)))
|
||||
|
||||
# Extract IBAN and root info from the xl file
|
||||
collected_data_dict = parse_excel_file(excel_frame, filename)
|
||||
collected_data_dict = parse_excel_file(excel_frame)
|
||||
update_parsed_data_to_mongo_database(
|
||||
mongo_provider=mongo_provider,
|
||||
collected_data_dict=collected_data_dict,
|
||||
|
|
|
|||
|
|
@ -48,15 +48,11 @@ def set_account_records_to_send_email():
|
|||
account_records = (
|
||||
account_records.order_by(
|
||||
AccountRecords.bank_date.desc(), AccountRecords.bank_reference_code.desc()
|
||||
)
|
||||
.limit(3)
|
||||
.all()
|
||||
).limit(3).all()
|
||||
)
|
||||
|
||||
first_record, second_record, balance_error = (
|
||||
account_records[0],
|
||||
account_records[1],
|
||||
False,
|
||||
account_records[0], account_records[1], False
|
||||
)
|
||||
second_balance = first_record.bank_balance - first_record.currency_value
|
||||
if second_balance != second_record.bank_balance:
|
||||
|
|
|
|||
|
|
@ -66,14 +66,14 @@ if __name__ == "__main__":
|
|||
)
|
||||
results = collect_parsed_data_from_mongo_database(mongo_provider=provider)
|
||||
for result in results:
|
||||
parsed_data = result.get("parsed")
|
||||
file_name = result.get("filename")
|
||||
if not parsed_data:
|
||||
parsed_datas, file_name = result.get("parsed"), result.get("filename")
|
||||
if not parsed_datas:
|
||||
continue
|
||||
write_parsed_data_to_account_records(
|
||||
data_dict=parsed_data,
|
||||
collection_name=provider.collection.name,
|
||||
mongo_provider=provider,
|
||||
file=file_name,
|
||||
)
|
||||
for parsed_data in parsed_datas:
|
||||
write_parsed_data_to_account_records(
|
||||
data_dict=parsed_data,
|
||||
collection_name=provider.collection.name,
|
||||
mongo_provider=provider,
|
||||
file=file_name,
|
||||
)
|
||||
time.sleep(60)
|
||||
|
|
|
|||
|
|
@ -51,29 +51,29 @@ services:
|
|||
# volumes:
|
||||
# - wag_postgres_commercial_data:/bitnami/postgresql
|
||||
|
||||
# email_service:
|
||||
# container_name: email_service
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: BankServices/EmailService/Dockerfile
|
||||
# networks:
|
||||
# - network_store_services
|
||||
#
|
||||
# parser_service:
|
||||
# container_name: parser_service
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: BankServices/ParserService/Dockerfile
|
||||
# networks:
|
||||
# - network_store_services
|
||||
#
|
||||
# writer_service:
|
||||
# container_name: writer_service
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: BankServices/WriterService/Dockerfile
|
||||
# networks:
|
||||
# - network_store_services
|
||||
email_service:
|
||||
container_name: email_service
|
||||
build:
|
||||
context: .
|
||||
dockerfile: BankServices/EmailService/Dockerfile
|
||||
networks:
|
||||
- network_store_services
|
||||
|
||||
parser_service:
|
||||
container_name: parser_service
|
||||
build:
|
||||
context: .
|
||||
dockerfile: BankServices/ParserService/Dockerfile
|
||||
networks:
|
||||
- network_store_services
|
||||
|
||||
writer_service:
|
||||
container_name: writer_service
|
||||
build:
|
||||
context: .
|
||||
dockerfile: BankServices/WriterService/Dockerfile
|
||||
networks:
|
||||
- network_store_services
|
||||
|
||||
routine_email_service:
|
||||
container_name: routine_email_service
|
||||
|
|
@ -83,13 +83,13 @@ services:
|
|||
networks:
|
||||
- network_store_services
|
||||
|
||||
# sender_service:
|
||||
# container_name: sender_service
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: BankServices/SenderService/Dockerfile
|
||||
# networks:
|
||||
# - network_store_services
|
||||
sender_service:
|
||||
container_name: sender_service
|
||||
build:
|
||||
context: .
|
||||
dockerfile: BankServices/SenderService/Dockerfile
|
||||
networks:
|
||||
- network_store_services
|
||||
|
||||
# test_server:
|
||||
# container_name: test_server
|
||||
|
|
|
|||
Loading…
Reference in New Issue