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