# Pywikibot/touch.py

El script touch.py de Pywikibot es una herramienta útil que permite actualizar la marca de tiempo de una página en un proyecto de Wikimedia sin realizar cambios visibles en su contenido. Esto es útil en contextos donde se necesita «tocar» una página para que aparezca como modificada, por ejemplo, al forzar su actualización en la caché de ciertos servicios o para cumplir con tareas de mantenimiento automatizado.
El script es especialmente útil para editores y bots que gestionan grandes cantidades de páginas y necesitan actualizarlas de manera masiva sin alterar su contenido. touch.py no realiza modificaciones en el contenido, sino que actualiza el historial de edición para reflejar una nueva «edición» de la página.

## Sección teórica

Desde un punto de vista técnico, el script touch.py interactúa con las páginas de un proyecto Wikimedia enviando una solicitud de edición en blanco, lo que no altera el contenido, pero actualiza el registro de ediciones. Esta «edición» es útil en situaciones donde, por ejemplo, el contenido de una plantilla afecta a una página y se desea que esta sea regenerada sin hacer cambios visibles. A nivel de API, Pywikibot gestiona la autenticación y las solicitudes HTTP necesarias para realizar estas ediciones, asegurándose de que no se hagan cambios no deseados en el contenido de la página.

## Requisitos previos

Antes de utilizar el script touch.py, los usuarios deben cumplir con los siguientes requisitos:
* Conocimientos básicos de Pywikibot: Es necesario tener una instalación funcional de Pywikibot, así como estar familiarizado con la estructura de sus scripts.
* Autenticación en Wikimedia: El usuario debe haber configurado su archivo user-config.py y haber autenticado su cuenta en el proyecto Wikimedia deseado, utilizando OAuth o cookies de sesión.
* Acceso de escritura: El usuario debe tener permisos para editar las páginas del proyecto en el que se desee utilizar el script.

## Guía paso a paso

Aquí se detallan los pasos para ejecutar el script touch.py en un entorno de Pywikibot:
* Abrir la consola: Navegar a la carpeta donde se encuentra Pywikibot.
* Ejecutar el script: Introducir el siguiente comando para ejecutar el script touch.py en una página específica:
Esto actualizará la marca de tiempo de «PáginaEjemplo» sin realizar ningún cambio en el contenido.
* Tocar varias páginas: Si se desea aplicar el script a varias páginas, es posible utilizar una lista de páginas:

## Ejercicio práctico
### Tarea

Usa el script touch.py para actualizar una lista de páginas en tu proyecto Wikimedia.
* Selecciona cinco páginas que no hayan sido editadas recientemente.
* Ejecuta el script para «tocar» cada una de ellas. Asegúrate de no realizar cambios visibles en las páginas.

### Preguntas de reflexión

* ¿En qué situaciones crees que sería útil «tocar» una página sin cambiar su contenido?
* ¿Qué beneficios tiene este proceso en la gestión de caché y mantenimiento de proyectos Wikimedia?

## Opciones avanzadas y parámetros

El script touch.py también permite ciertas configuraciones avanzadas que mejoran su utilidad en tareas más específicas:
* -always: Este parámetro permite ejecutar el script sin confirmación interactiva en cada página, útil para automatización.
* -namespace: Filtra las páginas por el espacio de nombres:
Esto aplicará el script solo a páginas del espacio de nombres principal (artículos).

## Resolución de problemas comunes

Algunos problemas que puedes enfrentar al utilizar touch.py incluyen:
* Error de autenticación: Asegúrate de estar autenticado correctamente en el proyecto Wikimedia. Revisa las configuraciones de user-config.py y el archivo de cookies.
* Permisos insuficientes: Verifica que tengas permisos para editar las páginas que intentas «tocar». Si trabajas en un wiki con restricciones, es posible que no puedas realizar ediciones en ciertos espacios de nombres.
* Límite de ediciones: Algunos wikis imponen límites en la frecuencia de ediciones que un bot puede realizar. Si ves mensajes relacionados con límites de velocidad, puedes ajustar el tiempo entre ediciones usando el parámetro -putthrottle.

## Discusión y reflexión

* ¿Cómo podría mejorarse el script touch.py para aumentar su funcionalidad en contextos más complejos?
* ¿Qué problemas éticos o técnicos podrían surgir al utilizar este script de manera masiva en proyectos Wikimedia?
* Discute en qué situaciones usar touch.py podría ser innecesario o incluso contraproducente.

## Conclusión

El script touch.py de Pywikibot es una herramienta simple pero efectiva para tareas de mantenimiento en proyectos Wikimedia. Permite actualizar páginas sin alterar su contenido, facilitando la gestión de grandes wikis y mejorando el rendimiento de caché en algunos casos. A lo largo de este artículo, hemos explorado su funcionamiento básico, configuraciones avanzadas, y las mejores prácticas para su uso.

### Recursos adicionales

* Documentación oficial de Pywikibot
* Canales de ayuda de Pywikibot