6. Descarga de imágenes - SheilaOM/TFG GitHub Wiki
Hasta ahora, cogía la url de la imagen que me proporcionaban y forzaba que me descargase una imagen y la nombrase con el formato .jpg. Esto no contemplaba algunos problemas:
- Formato de las imágenes: No todas las imágenes son jpg. Pueden ser png, jpeg... (aunque si las nombraba como .jpg el compilador de Latex lo soportaba y me enseñaba la imagen correctamente).
- Formato .webp: Este formato no soporta que lo nombre como .jpg.
- Url no es imagen: Algunas de las url dadas no son de una imagen, sino de un sitio web en el que está la imagen.
El único problema que contemplaba es que la url fuese incorrecta (Error 404).
Resolución de los problemas:
Formato de las imágenes
Antes de descargar la imagen, abre la url (con urlopen) y obtiene el tipo del contenido (imagen, texto...). El tipo del contenido (Content-Type) está formado por el tipo y el formato, ambos separados por '/', es decir, los tipos pueden ser image/jpg, image/png, text/html...
Con esto, compruebo si la url es una imagen (primera parte del Content-Type es image). Si lo es, descargo la imagen, y le doy nombre con su formato correspondiente (segunda parte del Content-Type).
Formato .webp
Las imágenes con formato .webp no se pueden abrir, por lo tanto hay que convertirlas de formato. Para ello, una vez que me descargo la imagen compruebo si su formato es .webp y, si lo es, lo convierto a .jpg. Este proceso produce una copia de la imagen .webp en .jpg, por lo que tengo 2 copias de la misma imagen, así que una vez que tengo la de formato .jpg elimino la .webp.
Url no es imagen
Si el contenido de la url no es una imagen, no puedo obtener la imagen, así que lo que hago es poner una imagen que indica que no existe imagen para ese participante (como en el caso de url incorrecta). Esta imagen la tengo descargada en mi local (podría descargarla también).
Enlace a commit de todo lo de descarga de imágenes
**Actualización
Me he dado cuenta que al utilizar /includegraphics para insertar las imágenes no es necesario añadir la extensión al final del nombre de archivo (.jpg, .png...), así que lo he eliminiado a la hora de descargar las imágenes. Enlace al commit de la actualización en las imágenes
Al probar el código en un ordenador Windows, me he vuelto a dar cuenta que no hay que añadir la extensión al indicar el nombre de la imagen en el .tex, pero a la hora de descargarlo sí que hay que indicar la extensión (lo he modificado en la Sección 9).