Se creará una aplicación de consola y se implementará el flujo de datos del proceso de catalogación (issue #3). Las lógica del programabasa implementar son las siguientes:
Leer el archivo de configuración (issue #4).
Listar las carpetas a escanear.
Recorrer las carpetas de la lista.
Para cada carpeta:
Cargar los códigos MD5 del archivo IDX en una lista de hashes (issue #5).
Listar los archivos que contiene.
Si no hay archivos o su número no coincide con el número de elementos de la lista de hashes, vaciar la lista de hashes y borrar el archivo IDX.
Para cada archivo de la carpeta realizar las siguientes acciones:
Comprobar que es un archivo de audio (issue #6); si no lo es, pasar al siguiente archivo de la lista.
Calcular su código MD5 (issue #7).
Comprobar que el código MD5 no existe en la lista de hashes; si existe, pasar al siguiente archivo de la lista.
Añadir el código MD5 a la lista de hashes.
Calcular su huella digital (issue #8).
Obtener su identificador unívoco de AcoustID a partir de su huella digital (issue #9). Si no se puede obtener, pasar al siguiente archivo de la lista.
Si no hay más archivos, guardar la lista de hashes en el archivo IDX (issue #5).
Se creará una aplicación de consola y se implementará el flujo de datos del proceso de catalogación (issue #3). Las lógica del programabasa implementar son las siguientes: