Parser_Destinos/helpers.py

41 lines
1.3 KiB
Python

import json
class CabColumna:
def __init__(self, nombre_cabecera, n_campos):
self.nombre_cabecera = nombre_cabecera
self.n_campos = n_campos
self.indice=""
self.campos = ['' for _ in range(n_campos)]
def __repr__(self):
return f"CabColumna({self.nombre_cabecera!r}, {self.n_campos}, {self.campos})"
class ListaCabColumnas:
def __init__(self):
self.lista = []
def añadir(self, cab_columna):
if isinstance(cab_columna, CabColumna):
self.lista.append(cab_columna)
def eliminar(self, index):
if 0 <= index < len(self.lista):
del self.lista[index]
def exportar(self, ruta):
with open(ruta, 'w', encoding='utf-8') as f:
json.dump([{
'nombre_cabecera': c.nombre_cabecera,
'n_campos': c.n_campos,
'campos': c.campos
} for c in self.lista], f, indent=2, ensure_ascii=False)
def importar(self, ruta):
with open(ruta, 'r', encoding='utf-8') as f:
datos = json.load(f)
self.lista = [
CabColumna(d['nombre_cabecera'], d['n_campos']) for d in datos
]
for i, d in enumerate(datos):
self.lista[i].campos = d['campos']