Este es uno de los capítulos del tutorial Reto Python. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.
Vamos con el tercero de los retos. Un reto que he titulado la configuración, porque hasta el momento, el directorio en el que realizabas las operaciones estaba prefijado, pero ahora esto va a cambiar. Vamos a dejar que sea el usuario que defina cual es el directorio o directorios sobre los que se quiere aplicar la limpieza. Para esto, como te decía, vamos a utilizar un archivo de configuración que ese algo muy extendido y con lo que seguro has tenido que lidiar en mas de de un ocasión.
Reto Python 3. La configuración
Cambios en los retos
Antes de nada indicarte que se cambia la periodicidad de los retos de quincenal a semanal. Es algo que estabas demandando y que tiene toda la lógica. Dejar transcurrir quince días entre reto y reto es demasiado. Prácticamente al día siguiente o a los dos días como sumo ya se están haciendo pull request de los retos para incluirlos en el repositorio con lo que no tiene ningún sentido dejar tiempo.
Tu ansia crece de forma desmesurada entre reto y reto, y a mi se me olvida por donde iba. Solución periodicidad semanal.
La solución al reto 2.
En el repositorio de GitHub encontrarás además de la solución que te propongo, otras siete u ocho propuestas mas, propuestas por ti y otros. Te recomiendo que no solo te quedes en mi propuesta de solución al reto, sino que también le des un vistazo a la propuesta de los demás, porque seguro que encontrarás aspectos muy interesantes que, o bien yo no he planteado o tu no te has planteado.
Una de las mejores formas de aprender un lenguaje de programación, además de programando, por supuesto, es leyendo el código de los demás.
Queda pendiente un mini mini mini tutorial sobre git y GitHub para ayudarte a publicar tus soluciones.
El tercero de los retos. La configuración.
Ahora que mas o menos tenemos controlado la opción de listar y gestionar todos los archivos que se encuentran en nuestro directorio de Descargas
, ha llegado el momento de rizar el rizo. En lugar de utilizar el directorio de Descargas
, vas a permitir que el usuario de tu aplicación pueda definir el directorio quiera.
Para hacer esto necesitas un archivo de configuración donde guardar la información. En este caso, y como primer paso, solo vas a guardar un directorio. Para hacer esto, en este tercer reto vas a utilizar el formato TOML Tom’s Obvious Minimal Language.
Así, el archivo de configuración tendrá el siguiente contenido
directorio = "/home/lorenzo/Descargas"
Así, el objetivo de este reto es crear el archivo de configuración en el caso de que no exista el mismo, y asignar como directorio el directorio por defecto el directorio de descargas, del primero de los retos.
El archivo de configuración se tiene que encontrar en /home/lorenzo/.config/diogenes/
, y su nombre será diogenes.conf
.
En el caso de que exista el archivo de configuración tiene que leer el contenido del mismo y listar los imágenes jpeg que se encuentran en él. En el caso de que no exista el directorio de las imágenes lo creará. Si no encuentra ninguna imagen, como es lógico no las listará claro.