- El 5 de septiembre nos reunimos para establecer la metodología que implementaríamos en la tarea y asimismo establecer el cronograma de trabajo.
- El 7 de septiembre nos reunimos en la biblioteca para dar inicio a la fase investigativa de la tarea y sentar bases sobre lo que trabajaríamos.
- El 10 de septiembre decidimos que comenzaríamos por programar la función "determinarFestividades", para lo cual tuvimos inducir y realizar conclusiones sobre la información que retornaba la fuente de datos solicitada. Este día no hubo mayo avance.
- El 11 de septiembre nos reunimos nuevamente en la biblioteca para investigar sobre cómo limpiar un código html importando distintos módulos, sin conseguir mayores resultados.
- El 12 de septiembre decidimos trabajar en solitario, durante una búsqueda por Internet encontré que es posible limpiar los códigos html utilizando un módulo llamado "BeautifulSoup" que no se encuentra por defecto en la librería de Python 3.2.2. Después de horas de intentos, logré instalar correctamente el módulo e implementarlo.
- El 14 de septiembre volvimos a trabajar de manera grupal, logrando grandes avances con el nuevo módulo instalado, esto es, reducir el código html a lo que únicamente necesitábamos, pese a ello aún restaba mucho trabajo,pues desconocíamos cómo dividirlo.
- El 17 de septiembre decidimos dejar de lado momentáneamente la función "determinarFestividades", para realizar algún avance de la función "determinarCalendarioMes", con lo cual conseguimos implementar un algoritmo para determinar el prime día del mes de cualquier año d.C.
- El 19 de septiembre con ayuda de una amistad, conseguí implementar a la función una manera de la cual retornara las festividades a manera de columnas y en orden; con algunas excepciones que deberíamos corregir.
- El 21 de septiembre (día clave y de mayor progreso), probamos la función "determinarFestividades" con diversas fuentes de datos alternativas, con lo cual logramos grandes deducciones e implementamos un algoritmo que extraería información de dos diferentes fuentes según fuese el caso solicitado.Para implementar esta información en la función "determinarCalendarioMes", se necesitó recurrir a la fuente de datos inicial, para lo cual se creó un diccionario con las denominaciones de los países que provee la página web, para ello se consultó al código de fuente de ésta.
- La noche de ese mismo día, en solitario, tuve la idea de utilizar el diccionario creado por mi compañero para la función "determinarFestividades", para de esta manera eliminar la complejidad innecesaria de utilizar dos fuentes de datos, lo cual tuvo cierto éxito que con cierto retoques se solidificó.
- El 22 de septiembre, en grupo, realizamos las correspondientes revisiones restantes al algoritmo "determinarFestividades", lo cual después algunas horas de pruebas y errores logramos corregir. Luego implementamos la función anterior en la otra,"detemrminarCalendarioMes", después de mostrar ciertos errores, se realizó una revisión minuciosa y se determinaron los fallos. Seguidamente fueron corregidos y dimos por cerrada la función, a solamente falta de hacer la robustez.
- Ese mismo día, de manera individual, realizamos la robustez de cada función. Hice la correspondiente a la función "determinarFestividades".
- Terminado lo anterior, procedimos a realizar la documentación de la tarea. Terminado esto, dimos por finalizado el trabajo y procedimos a grabar la información entregable en el DVD.
Lecciones aprendidas:
- Revisar los códigos cuantas veces sean necesarias para determinar que esté a prueba de errores.
- Un código HTML puede ser limpiado por módulos externos a la biblioteca de Python.
- Es necesario llevar un orden lógico y definir de manera explícita cada variable.
- Se debe documentar cada línea del código mientras sea necesario, añadiendo notas para entenderle mejor.
Conocimiento adquirido:
- Empleo de módulos externos a la librería de Python y cómo instalarlos.
- Utilización de matrices para dar orden al calendario mensual.
- Listas para cortar el código en los segmentos clave.