Saltearse al contenido

Directory

El componente Directory permite cargar de forma recursiva todos los archivos de una carpeta especificada, con opciones para filtrar tipos de archivos, profundizar en subdirectorios, incluir archivos ocultos y controlar el rendimiento mediante concurrencia y multihilo.

⚠️ ADVERTENCIA DE DEPRECACIÓN

Este componente está deprecado y será eliminado en una versión futura de Nappai. Por favor, migra a los componentes alternativos recomendados.

¿Cómo funciona?

Cuando seleccionas una carpeta, el componente recorre su estructura de archivos hasta la profundidad indicada. Si eliges la opción Recursive, también inspeccionará subcarpetas. Puedes limitar la búsqueda a tipos de archivos específicos (por ejemplo, .txt, .csv).
El componente puede leer los archivos de forma secuencial o paralela, usando un número máximo de hilos que defines en Max Concurrency. Si activas Silent Errors, los archivos que no se puedan leer se omitirán sin interrumpir el proceso.

Entradas

  • Path: Ruta a la carpeta que quieres explorar.
  • Depth: Profundidad máxima de búsqueda. Un valor de 0 significa que solo se leerá la carpeta indicada sin entrar en subdirectorios.
  • Load Hidden: Si se activa, se incluirán archivos y carpetas que comienzan con . (ocultos).
  • Max Concurrency: Máximo número de hilos que se usarán para leer archivos en paralelo.
  • Recursive: Si se activa, la búsqueda se realizará recursivamente en todas las subcarpetas.
  • Silent Errors: Si se activa, los errores de lectura de archivos no generarán excepciones; simplemente se ignorarán.
  • Types: Lista de extensiones de archivo separadas por comas (por ejemplo, txt,csv). Si se deja vacío, se cargarán todos los tipos.
  • Use Multithreading: Si se activa, el componente leerá los archivos usando hilos para acelerar el proceso.

Salidas

  • Data: Una lista de objetos Data que representan el contenido de cada archivo leído. Cada elemento contiene el texto del archivo y metadatos como la ruta y el tipo de archivo.

Ejemplo de Uso

  1. Selecciona la carpeta: Haz clic en el selector de directorios y elige la carpeta que contiene tus archivos de datos.
  2. Configura la profundidad: Si solo necesitas archivos de la carpeta raíz, deja Depth en 0.
  3. Filtra por tipo: Escribe csv,json en Types si solo quieres esos formatos.
  4. Activa la concurrencia: Si tienes muchos archivos, activa Use Multithreading y ajusta Max Concurrency a 4 o 8 según tu CPU.
  5. Ejecuta: Conecta la salida Data a otro componente que procese los datos (por ejemplo, un analizador de texto o un cargador a una base de datos).

Componentes Relacionados

  • FileInput – Permite seleccionar archivos individuales.
  • MessageTextInput – Entrada de texto libre para especificar filtros.
  • Data – Tipo de dato que se devuelve y que se puede usar en otros componentes.

Consejos y Mejores Prácticas

  • Limita la profundidad cuando no necesites explorar subcarpetas para ahorrar tiempo.
  • Usa Silent Errors solo cuando estés seguro de que algunos archivos pueden estar corruptos o inaccesibles.
  • Ajusta Max Concurrency según la capacidad de tu máquina; demasiados hilos pueden saturar la CPU y ralentizar el proceso.
  • Evita cargar archivos muy grandes en memoria; si necesitas procesar archivos enormes, considera leerlos en bloques.

Consideraciones de Seguridad

  • Valida la ruta: Asegúrate de que la ruta proporcionada no apunte a directorios sensibles del sistema.
  • Control de acceso: Si el dashboard se ejecuta en un entorno multiusuario, verifica que cada usuario solo pueda acceder a sus propios directorios.
  • Manejo de errores: Cuando Silent Errors está activado, revisa los registros para identificar archivos que fallaron y corregirlos.