full adjustment

This commit is contained in:
2026-04-09 14:03:06 -07:00
parent 75ecb00a94
commit 092a7048d8
21 changed files with 416 additions and 118 deletions

View File

@@ -1,15 +1,24 @@
#helper/db_adapter
from typing import List, Dict
from database import sessionLocal
from app.modules.edos.models import EDOS
class DBAdapter:
""" Adapter: insert cleen data on a db"""
""" Adapter: insert cleen data on a db"""
def __inti__(self):
def __init__(self):
self.db = sessionLocal()
def insert_filtered_data(self, mapped_rows: List[Dict]) -> Dict:
""" Insert only data filtered and mapped"""
print(f" [DBAdapter] Recibidas {len(mapped_rows)} filas")
if mapped_rows:
print(f" [DBAdapter] Primera fila: {mapped_rows[0]}")
results = {
'total_processed': len(mapped_rows),
'inserted': 0,
@@ -19,8 +28,11 @@ class DBAdapter:
for row in mapped_rows:
try:
#verified dupled data
unique_field_value = row.get('numero')
existing = self.db.query(EDOS).filter_by(
unique_field=row.get('unique_field')
numero=unique_field_value
).first()
if existing:
@@ -28,8 +40,11 @@ class DBAdapter:
continue
instance = EDOS(**row)
self.db.add(instance)
print(f" [DBAdapter] Added instance for {row.get('numero')}")
self.db.commit()
print(f" [DBAdapter] Committed successfully")
results['inserted'] += 1
except Exception as e:
self.db.rollback()
@@ -37,6 +52,6 @@ class DBAdapter:
'row': row,
'error': str(e)
})
self.db.close()
return results
self.db.close()
return results