Manual:Pywikibot/protect.py

From mediawiki.org
This page is a translated version of the page Manual:Pywikibot/protect.py and the translation is 95% complete.
Outdated translations are marked like this.

protect.py es un script que facilita la protección de páginas en masa. Es un script simple que le da un gran poder sobre el la protección de casi todas partes de su wiki. Sin embargo, dado que los wikis generalmente se consideran "enciclopedias" que cualquiera "puede editar", es necesario pensar en las razones por las que desea utilizar este script. Dentro de algunas comunidades wiki, particularmente la propia Wikipedia, el uso indebido de este script podría resultar en la revocación de sus derechos administrativos.

Cuándo utilizarlo

Antes de utilizar este script, debe comprender a fondo las políticas de su wiki sobre la protección de páginas. Si su wiki aún no ha discutido su filosofía de protección de páginas, es una buena idea tener esa discusión y escribir algún tipo de política antes de usar este script. Su comunidad debe comprender lo que está haciendo con su bot. El mal uso de ese bot, es decir, usarlo para proteger todas las páginas de un wiki, es muy fácil de hacer con este script, pero generalmente se consideraría un abuso de los poderes administrativos en la mayoría de las comunidades wiki. Recuerde: puede evitar que todos los que no sean administradores editen todas las páginas de su wiki a través de solo un comando con este script.

Los usos "razonables" típicos son:

  • proteger toda una categoría de plantillas, porque cambiar esas plantillas tendría un impacto significativo en la wiki
  • proteger las páginas de ayuda o políticas de la edición general, porque no desea que las "reglas" de su wiki estén sujetas a vandalismo
  • evitar que se cambien los nombres de las páginas, es decir, "mover las páginas bloqueadas", pero seguir permitiendo que se editen libremente

Sintaxis

El script se invoca escribiendo:

$ python pwb.py protect ''parameter1'' ''parameter2'' . . . ''parameterX''

Los parámetros disponibles incluyen:

-page:       Protege ls página especificada
-cat:        Proteger todas las páginas en la categoría dada
-nosubcats:  No proteger las páginas en subcategorías
-links:      Proteger todas las páginas enlazadas desde una página dada
-file:       Proteger todas las páginas listadas en un archivo de texto
-ref:        Proteger todas las páginas referenciadas desde una página dada
-images:     Proteger todas las imágenes usadas en una página dada
-expiry:     Proveer una expiración de protección personalizada (por defecto, la protección no expira)
-always:     No preguntar, solo hacerlo ya
-summary:    Proveer un resumen de edición personalizado
-unprotect:  Desproteger en lugar de proteger
-edit:NIVEL_PROTECCIÓN Establecer el nivel de protección contra edición en NIVEL_PROTECCIÓN
-move:NIVEL_PROTECCIÓN Establecer el nivel de protección contra traslado en NIVEL_PROTECCIÓN

## Sin soporte ##
## -create:PROTECTION_LEVEL Set move protection level to PROTECTION_LEVEL ##
Valores para sysop son: autoconfirmed
Si un parámetro de operación (edit, move o create) no ha sido especificado, el nivel de protección predeterminado es sysop (o none si -unprotect)

See note below concerning -expiry.

Uso

A continuación se muestran algunos ejemplos concretos de usos típicos.

Bloqueo completo de todo en una categoría

Primero, considere el caso de una categoría llamada category:Dependent templates . Todo en esta categoría es una plantilla que requiere otra plantilla para funcionar. Por sí solo, ninguna plantilla de esta categoría hace "nada". Pero si se cambia la plantilla, tendrá un efecto en cadena para otras plantillas, que a su vez podrían trasladarse a otras páginas. Así que definitivamente queremos proteger estas plantillas de daños. ¡Son los componentes básicos de nuestra wiki! Así es como lo haces.

$ python pwb.py protect -cat:"Dependent templates" -summary:"Moving or editing this template will harm other templates."

Fácil. No hay opciones más que el nombre de la categoría y un resumen. La secuencia de comandos asumirá que desea mover y editar bloquear la plantilla, por lo que no necesita hacer nada más.

Bloqueo contra traslados

Ahora, imagine que tiene una wiki sobre un programa de televisión. Su comunidad ha decidido una nomenclatura estándar para nombrar las páginas sobre episodios de ese programa. Nunca habrá una necesidad previsible de cambiar esa nomenclatura y, de todos modos, se requeriría una gran discusión comunitaria para hacerlo. Por lo tanto, desea proteger las páginas para que no sean trasladadas (cambien de nombre). Esta es la forma de hacerlo:

$ python pwb.py protect -cat:Episodes -move:sysop -edit:none -summary:"This article's name has been agreed by consensus at [[Forum:Episode names]].  It should not be moved."

Tenga en cuenta algunas cosas aquí.

  • No necesitamos poner el nombre de la categoría entre comillas, porque es solo una palabra. (Por cierto, esto es cierto para casi todos los guiones de Pywikibot).
  • El resumen debe estar entre comillas dobles, porque hemos incluido un apóstrofe en el texto del resumen.
  • El parámetro -edit debe definirse en none si queremos que todos puedan editar el artículo, porque -edit, -move y -create todo predeterminado en sysop
  • Definir -create en esta instancia no tendría ningún efecto, porque las páginas de una categoría ya están creadas

Trabajando desde un archivo de texto

Ahora para un caso más complicado. Imagine que desea proteger las plantillas "más utilizadas" en su wiki. Este es un uso perfectamente razonable, ya que cambiar una plantilla que tiene 10,000 transclusiones tendrá un impacto significativo en tu wiki. Con razón, no quiere que ese cambio se produzca por capricho. Entonces, primero iría a Special:MostLinkedTemplates y extraería la lista en un archivo de texto llamado articles_list.txt. Asegurándose de que articles_list.txt se haya guardado en la carpeta pywikibot en su computadora, entonces podrá escribir algo como esto:

$ python pwb.py protect -file:articles_list.txt -always -summary:"[[Special:MostLinkedTemplates]] protection" -edit:sysop -move:sysop

Caducidad de la protección

Para habilitar la caducidad de la protección, coloque la entrada entre comillas dobles como cadenas comprensibles para MediaWiki (consulte: API:Protect). Se aceptan períodos relativos y fechas absolutas.

While it is stated elsewhere that, if not specified -expiry: will default to "infinite", you may still get the following error:

ERROR: APIError: toofewexpiries: 0 expiry timestamps were provided where 2 were needed.

Should this occur, you will need to provide -expiry:infinite on the command line.

Suegrencias de resumen de edición

Si no utiliza el parámetro -summary, se le insertará un resumen automático. Pero ese resumen no le dirá a su comunidad por qué ha tomado la acción. Debido a que la protección de las páginas generalmente se considera la antítesis del espíritu de la edición wiki, generalmente es importante dejar un resumen que explique "por qué" ha realizado esta acción inusual. Recuerde, cuando sus usuarios intenten editar o mover la página, recibirán un mensaje que incluye el resumen de edición de su bot. En la mayoría de los casos, este resumen debe ser lo más explícito posible sobre la razón por la que sus usuarios no pueden hacer lo que quieren hacer.

Si ha establecido una protección completo, es decir, edición solo de sysop, probablemente también querrá incluir un enlace a una página donde los usuarios puedan dejar comentarios sobre cómo mejorar el artículo bloqueado. A menudo, esta es la página de discusión, pero en los wikis que no tienen habilitada la funcionalidad de la página de discusión, puede ser una buena idea colocar un enlace a un foro u otra página de comentarios.

Limitaciones

Este script no tiene la capacidad de afectar el nivel de protección de nada en los espacios de nombres Special:.