Obtener screenshots para juegos de debian

2017-09-22

El otro día pensé en instalar algún juego para linux.

Lo malo que juegos libres no hay muchos y gráficamente no son muy bonitos. Por eso pensé en ver screenshots de juegos disponibles para debian, a ver si había alguno que llamara mi atención para instalarlo. Para automatizar el ver los screenshots de los paquetes seguí los siguientes pasos:

Primero se listan los paquetes en la sección games:

$ aptitude search -F %p '?section(games)'
0ad
0ad-data
0ad-data-common
...

Luego, según https://screenshots.debian.net/about, para obtener el screenshot de un paquete se debe utilizar la url http://screenshots.debian.net/screenshot/PACKAGENAME. Si el paquete posee una screenshot se devuelve un response http 200 y un archivo en formato png. En caso de que no se posea una screenshot se devuelve un response http 404.

Para descargar las imagenes en el directorio screenshots se utiliza un bucle con un here string de bash:

$ mkdir -p screenshots
$ while read package; do
    wget --show-progress -q -O "screenshots/$package.png" \
        -c "http://screenshots.debian.net/screenshot/$package" \
        || rm -f "screenshots/$package.png"
done <<< $(aptitude search -F %p '?section(games)')

En caso de error wget deja el archivo vacío (paquetes sin screenshots que devuelven 404) o parcialmente descargado, por lo que se borra con rm -f.

Finalmente se puede utilizar un visor de imagenes para ver las screenshots de los distintos juegos disponibles en debian. Al terminar se elimina el directorio con rm -r screenshots.