Remover funcionalidad duplicada entre la API y el ETL
Opened this issue · 0 comments
Al momento de generar archivos JSON, CSV y GeoJSON, la API y el ETL utilizan código muy similar para lograr los mismos resultados. El objetivo original era lograr que el ETL genere "dumps" (en archivos) de todas las entidades geográficas, que puedan ser accedidas a través de la API utlizando URLs del estilo /provincias.csv
. Si bien la solución funcionó correctamente, tuvo el efecto de que se duplicó código entre el ETL y la API, para que las estructuras de los archivos y las respuestas de la API sean idénticas (ver loaders.py
del ETL y formatter.py
de la API).
Sería conveniente crear algún módulo compartido entre la API y el ETL, que provea las funciones necesarias para generar respuestas de datos de forma unificada. Esto también permitiría generar "dumps" en otros formatos, como XML y Shapefile (que ahora el ETL no genera). También sería posible compartir constantes y definiciones comunes entre los dos proyectos (nombres de entidades, longitudes de IDs, etc.).