session maker updated
This commit is contained in:
parent
f3b053af78
commit
a256d9d70c
|
|
@ -18,41 +18,41 @@ def collect_parsed_data_from_mongo_database(mongo_provider) -> list:
|
|||
def write_parsed_data_to_account_records(
|
||||
file: str, data_dict: dict, collection_name: str, mongo_provider
|
||||
):
|
||||
db_session = AccountRecords.new_session()
|
||||
data_dict["bank_balance"] = data_dict.pop("balance")
|
||||
data_dict["import_file_name"] = collection_name
|
||||
data_dict = BankReceive(**data_dict).model_dump()
|
||||
bank_date = arrow.get(str(data_dict["bank_date"]))
|
||||
data_dict["bank_date_w"] = bank_date.weekday()
|
||||
data_dict["bank_date_m"] = bank_date.month
|
||||
data_dict["bank_date_d"] = bank_date.day
|
||||
data_dict["bank_date_y"] = bank_date.year
|
||||
data_dict["bank_date"] = str(bank_date)
|
||||
if build_iban := BuildIbans.filter_by_one(
|
||||
iban=data_dict["iban"], db=db_session
|
||||
).data:
|
||||
data_dict.update(
|
||||
{
|
||||
"build_id": build_iban.build_id,
|
||||
"build_uu_id": build_iban.build_uu_id,
|
||||
}
|
||||
)
|
||||
if found_record := AccountRecords.filter_one(
|
||||
AccountRecords.bank_date == data_dict["bank_date"],
|
||||
AccountRecords.iban == data_dict["iban"],
|
||||
AccountRecords.bank_reference_code == data_dict["bank_reference_code"],
|
||||
AccountRecords.bank_balance == data_dict["bank_balance"],
|
||||
db=db_session,
|
||||
).data:
|
||||
print("already @database record", found_record.id)
|
||||
else:
|
||||
new_account_record = AccountRecords.find_or_create(db=db_session, **data_dict)
|
||||
new_account_record.is_confirmed = True
|
||||
new_account_record.save(db=db_session)
|
||||
mongo_provider.update_one(
|
||||
filter_query={"filename": file},
|
||||
update_data={"$set": {"stage": "written"}},
|
||||
)
|
||||
with AccountRecords.new_session() as db_session:
|
||||
data_dict["bank_balance"] = data_dict.pop("balance")
|
||||
data_dict["import_file_name"] = collection_name
|
||||
data_dict = BankReceive(**data_dict).model_dump()
|
||||
bank_date = arrow.get(str(data_dict["bank_date"]))
|
||||
data_dict["bank_date_w"] = bank_date.weekday()
|
||||
data_dict["bank_date_m"] = bank_date.month
|
||||
data_dict["bank_date_d"] = bank_date.day
|
||||
data_dict["bank_date_y"] = bank_date.year
|
||||
data_dict["bank_date"] = str(bank_date)
|
||||
if build_iban := BuildIbans.filter_by_one(
|
||||
iban=data_dict["iban"], db=db_session
|
||||
).data:
|
||||
data_dict.update(
|
||||
{
|
||||
"build_id": build_iban.build_id,
|
||||
"build_uu_id": build_iban.build_uu_id,
|
||||
}
|
||||
)
|
||||
if found_record := AccountRecords.filter_one(
|
||||
AccountRecords.bank_date == data_dict["bank_date"],
|
||||
AccountRecords.iban == data_dict["iban"],
|
||||
AccountRecords.bank_reference_code == data_dict["bank_reference_code"],
|
||||
AccountRecords.bank_balance == data_dict["bank_balance"],
|
||||
db=db_session,
|
||||
).data:
|
||||
print("already @database record", found_record.id)
|
||||
else:
|
||||
new_account_record = AccountRecords.find_or_create(db=db_session, **data_dict)
|
||||
new_account_record.is_confirmed = True
|
||||
new_account_record.save(db=db_session)
|
||||
mongo_provider.update_one(
|
||||
filter_query={"filename": file},
|
||||
update_data={"$set": {"stage": "written"}},
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
|||
|
|
@ -24,11 +24,9 @@ class BaseAlchemyModel:
|
|||
__abstract__ = True
|
||||
|
||||
@classmethod
|
||||
def new_session(cls) -> Session:
|
||||
def new_session(cls):
|
||||
"""Get database session."""
|
||||
|
||||
with get_db() as session:
|
||||
return session
|
||||
return get_db()
|
||||
|
||||
@classmethod
|
||||
def flush(cls: Type[T], db: Session) -> T:
|
||||
|
|
|
|||
Loading…
Reference in New Issue