# Pywikibot/wikimedia sites.py

El script wikimedia_sites.py es una herramienta de Pywikibot diseñada para listar y manejar la información relacionada con los sitios de Wikimedia. Este script permite obtener información sobre los diferentes proyectos Wikimedia, como Wikipedia, Wikidata, Commons, entre otros. Es útil para los usuarios que necesitan obtener detalles específicos de los sitios Wikimedia o que trabajan en la automatización de tareas que involucran varios proyectos.
Este script es valioso en contextos donde se requiera gestionar o visualizar información de múltiples proyectos al mismo tiempo, como en la creación de bots que operan en varios idiomas o sitios de Wikimedia. A través de este subartículo, aprenderás a usar wikimedia_sites.py y explorar cómo puede beneficiar tu trabajo con Pywikibot.

## Sección teórica

El script wikimedia_sites.py interactúa con la API de MediaWiki para obtener información de los sitios registrados en la base de datos de Wikimedia. Cada sitio de Wikimedia (como Wikipedia, Wikilibros, etc.) tiene su propia configuración y parámetros, y el script te permite obtener esta información de manera automatizada. Pywikibot facilita este acceso al manejar la autenticación y las solicitudes a través de la API, permitiéndote realizar consultas sin necesidad de realizar configuraciones manuales complicadas.
El script está estructurado para realizar búsquedas, listados y actualizaciones de sitios Wikimedia, lo que lo hace una herramienta flexible para gestionar diferentes proyectos desde un único lugar.

## Requisitos previos

Antes de utilizar el script wikimedia_sites.py, asegúrate de tener lo siguiente:
* Conocimientos previos de Pywikibot: Debes estar familiarizado con la instalación y configuración de Pywikibot. Específicamente, asegúrate de que tu entorno esté correctamente configurado para interactuar con los sitios Wikimedia.
* Autenticación en Wikimedia: Si planeas realizar cambios en los proyectos, necesitarás configurar correctamente las credenciales de tu cuenta en Wikimedia en tu archivo de configuración user-config.py.
* Acceso a la API de MediaWiki: El script se conecta directamente a la API de los sitios de Wikimedia, por lo que necesitarás un entorno con acceso a internet y permisos adecuados para usar la API.

## Guía paso a paso
### Paso 1: Acceder al script

Para ejecutar el script wikimedia_sites.py, primero debes asegurarte de tener Pywikibot instalado y correctamente configurado. Una vez que esté todo listo, puedes ejecutar el script con el siguiente comando:

### Paso 2: Visualizar la lista de sitios

Al ejecutar el script sin ningún parámetro, se obtendrá una lista completa de todos los sitios de Wikimedia registrados en el sistema. Esto incluye sitios de Wikipedia, Wikidata, Commons, entre otros. Un ejemplo de la salida sería:

### Paso 3: Obtener detalles de un sitio específico

Para obtener información más detallada sobre un sitio en particular, puedes especificar el sitio con un parámetro. Por ejemplo, si deseas obtener los detalles del sitio de Wikipedia en inglés, puedes usar el siguiente comando:

### Paso 4: Actualizar la lista de sitios

El script también permite actualizar la lista de sitios que Pywikibot usa para conectarse a Wikimedia. Para hacerlo, puedes ejecutar el siguiente comando:
Este comando se encargará de descargar la lista más reciente de sitios Wikimedia disponibles.

## Tarea: Listar y analizar sitios específicos

* Objetivo: Utilizar el script wikimedia_sites.py para listar los sitios de Wikimedia y obtener detalles sobre el proyecto Commons.
* Instrucciones: Ejecuta el script sin parámetros y analiza la lista generada. Luego, usa el comando para obtener información detallada sobre el sitio de Commons (--site commons). Reflexiona sobre las diferencias entre los sitios listados y los detalles de Commons.

### Preguntas de reflexión

* ¿Qué información obtuviste del sitio Commons que no estaba disponible en la lista general?
* ¿Cómo crees que podrías utilizar esta información en un proyecto que automatice tareas en Commons?

## Opciones avanzadas y parámetros

El script wikimedia_sites.py ofrece una serie de parámetros avanzados que permiten personalizar su comportamiento. A continuación, se detallan algunos de los parámetros más importantes:
* --site [sitio]: Especifica un sitio en particular para obtener detalles.
* --update: Actualiza la lista de sitios de Wikimedia almacenada en la configuración de Pywikibot.
Explora estos parámetros y prueba con diferentes sitios de Wikimedia para observar cómo cambia la salida del script.

## Resolución de problemas comunes

Al utilizar wikimedia_sites.py, es posible que te enfrentes a algunos problemas comunes. Aquí te doy algunos ejemplos y cómo solucionarlos:
* Problema: Error de autenticación al intentar acceder a la API.
** Solución: Asegúrate de que tu archivo user-config.py esté correctamente configurado con las credenciales necesarias. Además, verifica que hayas iniciado sesión en Wikimedia usando python pwb.py login.
* Problema: Lista de sitios desactualizada.
* Solución: Ejecuta el script con la opción --update para descargar la lista más reciente de sitios.

## Discusión y reflexión

Para fomentar el aprendizaje colaborativo, considera las siguientes preguntas para discutir en un entorno de grupo:
* ¿Cuáles son las aplicaciones prácticas más útiles de wikimedia_sites.py en un entorno de trabajo colaborativo en Wikimedia?
* ¿Qué desafíos encontraste al usar el script y cómo los resolviste?
Estas preguntas pueden abrir la discusión sobre los usos prácticos y los posibles obstáculos al implementar scripts en proyectos complejos.

## Conclusión

A lo largo de este subartículo, hemos aprendido a usar el script wikimedia_sites.py para listar y obtener información de los sitios de Wikimedia. Este script es fundamental para cualquier desarrollador de bots que necesite trabajar con varios proyectos al mismo tiempo.

### Recursos adicionales

* Documentación oficial de Pywikibot
* API de MediaWiki
Explorar estas fuentes te permitirá profundizar aún más en el uso del script y las capacidades de Pywikibot.