Manuel:Pywikibot/category.py

This page is a translated version of the page Manual:Pywikibot/category.py and the translation is 100% complete.

Removes or adds categories to pages on a Mediawiki site.

Syntaxe

La syntaxe est :

   python pwb.py category action [-option]

action est une des valeurs suivantes :

add ajoute en rafale une catégorie à une liste de pages
remove supprime la balise de catégorie sur toutes les pages d'une catégorie donnée
move affecte toutes les pages d'une catégorie donnée dans une autre catégorie
tidy classe une catégorie en plaçant ses articles dans des sous-catégories
clean assisted diffusing of large categories
tree affiche l'arbre des sous-catégories d'une catégorie donnée
listify fait une liste de tous les articles présents dans une catégorie

et option une des valeurs suivantes.

Options pour l'action add

-person trie les personnes en fonction de leur nom de famille
-create si une page n'existe pas, il ne faut pas la sauter mais la créer.
-redirect suivre les redirections

Pour cette action, les options de génération de page sont reconnues.

Options pour l'action listify

* -overwrite   - réécrase la page courante avec la liste, même s'il y a déjà quelque chose dessus.
* -showimages  - affiche les images plutôt que de les lier dans la liste.
* -talkpages   - affiche les liens vers les pages de discussion des pages à lister en plus des pages elles-mêmes.

Options pour l'action remove

* -nodelsum    - indique de ne pas utiliser le résumé de modification utilisateur comme motif de la suppression.
                 A la place, on utilise le motif de suppression par défaut de la langue, qui par exemple pour l'anglais vaut « Category was disbanded ».

<span id="Options_for_move_action">

Options pour l'action move

-hist crée un joli tableau wiki sur la page de discussion de la catégorie cible contenant l'historique détaillée de la page de la catégorie source.
-nodelete ne pas supprimer l'ancienne catégorie après le renommage
-nowb ne pas mettre à jour le dépôt wikibase
-allowsplit si cette option n'est pas initialisée, ne fait que renommer la page de discussion en même temps que la page principale.
-mvtogether ne fait que renommer les pages / sous-categories d'une catégorie si la page cible n'existe pas (ni la page de discussion, si -allowsplit n'est pas utilisé).
-keepsortkey Utiliser sortKey de l'ancienne catégorie également pour la nouvelle catégorie.

Si non spécifié, sortKey est supprimé.

Une méthode alternative pour garder sortKey est d'utiliser l'option -inplace.

Options pour l'action tidy

-namespaces
-namespace
-ns
Filtre les articles dans les espaces de noms spécifiés. Séparez les numéros et les noms des espaces de noms avec des virgules.

Exemples :

-ns:0,2,4
-ns:Help,MediaWiki

Options communes à plusieurs actions

-rebuild réinitialise la base de données
-from: catégorie d'origine (pour l'option move)

C'est aussi la catégorie utilisée pour la suppression avec l'option remove C'est aussi la catégorie pour faire une liste avec l'option listify

Voir la note sous le tableau.

-to: catégorie destination (pour l'option move)

C'est aussi le nom de la liste à créer avec l'option listify

Voir la note sous le tableau.

-batch ne pas demander à supprimer les catégories vides (le fait automatiquement).
-summary: sélectionner un résumé de modification utilisateur pour le robot.
-inplace utilisez cette option pour modifier les catégories en place plutôt que de les réorganiser.
-recurse toutes les sous-catégories par récursivité sur les catégories.
-pagesonly pendant le retrait des pages d'une catégorie garde les liens des sous-pages sans les supprimer
-match ne fonctionne que sur les pages dont le titre vérifie l'expression régulière fournie (pour les actions move et remove ).
-depth: profondeur maximale pour l'exploration des sous-catégories.
Pour les options -from et -to :

si les noms de catégorie comportent des caractères espace, vous devrez utiliser une syntaxe spéciale dans votre shell pour ne pas que ces noms soient considérés comme des paramètres séparés. Par exemple, en BASH, utiliser les apostrophes simples, par exemple -from:'Polar bears'. Pour les catégories contenant une virgule, vous devez explicitement ajouter avant le préfixe de l'espace de nom category: ou son équivalent localisé.

Pour les actions tidy et tree, le robot va enregistrer la structure de la catégorie localement dans category.dump. Ceci économise le temps et la charge du serveur, mais s'il utilise ces données ultérieurement, elles peuvent être obsolètes ; utilisez le paramètre -rebuild dans ce cas. Par exemple, pour créer une nouvelle catégorie à partir d'une liste de personnes, entrez :

 python pwb.py category add -person

et suivez les instructions à l'écran.

Ou pour tout exécuter à partir de la ligne de commande, utilisez la syntaxe suivante :

 python pwb.py category move -from:US -to:"United States"
Ceci va placer toutes les pages de la catégorie US dans la catégorie United States.


Générateurs et filtres disponibles

Options des générateurs
Paramètre Description
-cat Fonctionne avec toutes les pages se trouvant dans une catégorie spécifique. L'argument peut aussi être fourni en tant que -cat:categoryname ou comme -cat:categoryname|fromtitle (l'utilisation de # à la place de | est également permise dans celui-ci et dans le suivant)
-catr Comme -cat, mais en incluant récursivement les pages dans les sous-catégories, les sous-sous-catégories etc. de la catégorie fournie. L'argument peut également être fourni sous la forme -catr:categoryname ou -catr:categoryname|fromtitle.
-subcats Fonctionne avec toutes les sous-catégories d'une catégorie spécifique. L'argument peut également être founi sous la forme -subcats:categoryname ou -subcats:categoryname|fromtitle.
-subcatsr Comme -subcats, mais en incluant aussi les sous-catégories etc. de la catégorie fournie. L'argument peut également être fourni sous la forme -subcatsr:categoryname ou -subcatsr:categoryname|fromtitle.
-uncat Fonctionne avec toutes les pages qui ne sont pas catégorisées.
-uncatcat Fonctionne avec toutes les catégories qui ne sont pas catégorisées.
-uncatfiles Fonctionne avec tous les fichiers qui ne sont pas catégorisés.
-file Lit une liste de pages à traiter à partir du fichier texte indiqué. Les titres des pages du fichier peuvent être soit mis entre crochets (exemple : [[Page]]), ou séparés par des retours à la ligne. L'argument peut aussi être fournis sous la forme -file:filename.
-filelinks Fonctionne avec toutes les pages qui utilisent un certain fichier d'image ou de média. L'argument peut également être passé sous la forme -filelinks:filename.
-search Fonctionne sur toutes les pages trouvées dans une recherche dans MediaWiki sur tous les espaces de noms .
-logevents Fonctionne avec tout article prėsent dans le Special:Log spécifié. La valeur peut être une liste des valeurs suivantes séparées par des virgules :
logevent,username,start,end

ou pour la compatibilité arrière :

logevent,username,total

Pour utiliser la valeur par défaut entrez une chaîne vide. Les options pour chaque type de journal sont données par le paramètre de l'événement de journal qui peut être :

spamblacklist, titleblacklist, gblblock, renameuser, globalauth, gblrights, gblrename, abusefilter, massmessage, thanks, usermerge, block, protect, rights, delete, upload, move, import, patrol, merge, suppress, tag, managetags, contentmodel, review, stable, timedmediahandler, newusers

Le nombre de pages utilisé par défaut est 10.

Exemples :

-logevents:move retourne des pages du journal des renommages (habituellement les redirections)
-logevents:delete,,20 retourne 20 pages du journal des supressions
-logevents:protect,Usr fournit la liste des pages protégées par l'utilisateur Usr
-logevents:patrol,Usr,20 renvoie 20 pages patrouillées par utilisateur
-logevents:upload,,20121231,20100101 fournit le nombre de pages téléversées dans 2010s, 2011s, et 2012s
-logevents:review,,20121231 fournit les pages revues depuis l'origine jusqu'au 31 décembre  2012
-logevents:review,Usr,20121231 donne le nombre de pages relues par l'utilisateur Usr depuis l'origine jusqu'au 31 décembre 2012
Dans certains cas il doit être passé sous la forme -logevents:"move,Usr,20"
-interwiki Travaille sur la page fournie et toutes les pages équivalentes dans les autres langues. Ceci peut par exemple être utilisé pour combattre le vandalisme multisite. Mais attention, ceci force aussi le robot à modifier les pages de plusieurs sites de wikis et n'a pas été complètement testé, donc vérifiez vos modifications !
-links Fonctionne sur toutes les pages qui sont pointées par une page donnée. L'argument peut également être passé sous la forme -links:linkingpagetitle.
-liverecentchanges Travaille sur les pages du flux actif des modifications récentes. Si utilisé sous la forme -liverecentchanges:x, il prend en compte les x modifications récentes.
-imagesused Fonctionne sur toutes les images contenues sur une page donnée. Peut être également fourni sous la forme -imagesused:linkingpagetitle.
-newimages Fonctionne avec les nouvelles images les plus récentes. S'il est passé sous la forme -newimages:x, il fonctionne sur les x nouvelles images.
-newpages Fonctionne avec les nouvelles pages les plus récentes. S'il est passé sous la forme -newpages:x, il fonctionne sur les x nouvelles pages.
-recentchanges Fonctionne sur les pages avec les modifications. Sous la forme -recentchanges:x, il prend en compte les x pages modifiées le plus souvent. Sous la forme -recentchanges:offset,duration il prend en compte les pages qui ont été modifiées à partir de offset minutes et pour une durée en minutes égale à duration.

Exemples :
-recentchanges:20 - donne les 20 dernières pages modifiées récemment
-recentchanges:120,70 - fournit les pages au temps 120 minutes et pendant 70 minutes
-recentchanges:visualeditor,10 - fournit les 10 pages modifiées le plus souvent et marquées avec 'visualeditor'
-recentchanges:"mobile edit,60,35" - va récupérer les pages marquées 'mobile edit' au décalage et durant le temps indiqués

Les rctags sont pris en charge, et le rctag doit être la première partie du paramètre.
-unconnectedpages Fonctionne sur les pages les plus récentes non connectées du dépôt de Wikibase. Fourni sous la forme -unconnectedpages:x, il travaille sur les x pages non connectées les plus récentes.
-ref Fonctionne sur toutes les pages qui pointent vers une page donnée. L'argument peut également être passé sous la forme -ref:referredpagetitle.
-start Indique que le robot doit traiter toutes les pages du wiki local dans l'ordre alphabétique, en commençant par la page indiquée. L'argument peut également être passé sous la forme -start:pagetitle. Vous pouvez également inclure un espace de noms. Par exemple, -start:Template:! indique au robot de travailler sur toutes les pages de l'espace de noms des modèles. La valeur par défaut est start:!
-prefixindex Fonctionne avec les pages commençant par un préfixe commun.
-transcludes Fonctionne sur toutes les pages qui utilisent un modèle donné. L'argument peut aussi être fourni sous forme -transcludes:Title.
-unusedfiles Fonctionne sur toutes les pages de description de fichiers d'images ou de média qui ne sont utilisées nulle part. L'argument peut être fournit sous la forme -unusedfiles:nn est le nombre maximum d'articles sur lesquels travailler.
-lonelypages Fonctionne avec tous les articles qui ne sont liés à aucun autre article. L'argument peut être fournit en tant que -lonelypages:nn est le nombre maximum d'articles sur lesquels travailler.
-unwatched Fonctionne avec tous les articles jamais visités. L'argument peut être fournit en tant que -unwatched:nn est le nombre maximum d'articles sur lesquels travailler.
-property:name Fonctionne sur toutes les pages ayant un nom de propriété de Special:PagesWithProp.
-usercontribs Fonctionne avec tous les articles modifiés par un utilisateur donné. (Exemple : -usercontribs:DumZiBoT)
-weblink Fonctionne sur tous les articles qui contiennent un lien externe vers l'URL fournie ; peut être passé sous la forme -weblink:url
-withoutinterwiki Fonctionne sur toutes les pages qui n'ont pas de liens inter langue. L'argument peut être fourni sous la forme -withoutinterwiki:nn est le total à récupérer.
-mysqlquery Prend en entrée une chaîne de requête Mysql du type "SELECT page_namespace, page_title, FROM page WHERE page_namespace = 0" et travaille sur les pages résultantes. Voir Manual:Pywikibot/MySQL .
-sparql Prend en entrée une chaîne de requête SPARQL SELECT comprenant ?item et travaille sur les pages du résultat.
-sparqlendpoint Spécifie l'URL du point d'accès SPARQL (optionnel). (Exemple : -sparqlendpoint:http://myserver.com/sparql)
-searchitem Prend une chaîne à rechercher et travaille sur les pages Wikibase où elle se trouve. L'argument peut être fourni sous la forme -searchitem:texte, où texte est la chaîne à rechercher, ou -searchitem:lang:textelang est la langue des éléments à rechercher.
-random Fonctionne sur les pages aléatoires renvoyées par Special:Random. Peut également être fourni sous la forme -random:nn est le nombre de pages à renvoyer.
-randomredirect Fonctionne sur les pages aléatoires de redirection renvoyées par Special:RandomRedirect. Peut également être fourni sous la forme -randomredirect:nn est le nombre de pages à renvoyer.
-google Fonctionne sur toutes les pages trouvées par une recherche Google. Vous devez avoir une clé de licence de l'API Google Web. Notez-bien que Google ne distribue plus de clé de licence. Voir google_key dans config.py pour les instructions. L'argument peut aussi être fourni sous la forme -google:searchstring.
-yahoo Fonctionne sur toutes les pages trouvées par une recherche Yahoo. Dépend du module Python pYsearch. Voir yahoo_appid dans config.py pour les instructions.
-page Fonctionne avec une page unique. L'argument peut également être fourni sous la forme -page:pagetitle, et soumis plusieurs fois lorsqu'il s'agit de pages multiples.
-pageid Fonctionne avec un ID unique de page. L'argument peut également être fourni sous la forme -pageid:pageid1,pageid2,.. ou -pageid:'pageid1|pageid2|..' , et soumis plusieurs fois lorsqu'il s'agit de pages multiples.
-linter Fonctionne sur les pages ayant des erreurs lint. L'extension Linter doit être disponible sur le site. -linter sélectionne toutes les catégories. -linter:high, -linter:medium ou -linter:low sélectionne toutes les catégories pour cette priorité. Différentes catégories peuvent être sélectionnées en utilisant des virgules comme dans -linter:cat1,cat2,cat3. Ajouter /int identifie l'ID Lint à partir duquel se font les requêtes : par exemple -linter:high/10000 -linter:show ne fait qu'afficher les catégories disponibles.
Options des filtres
Paramètre Description
-catfilter Filtrer les générateurs de page pour ne fournir que les pages de la catégorie spécifiée. Pour le format de l'argument, voir -cat dans les paramètres du générateur.
-grep Expression régulière correspondant à l'article sinon la page ne sera pas renvoyée. De multiples -grep:regexpr peuvent être passés et la page sera renvoyée si le contenu vérifie au moins l'une des expressions régulières fournies. Les expressions régulières indépendantes de la casse seront utilisées et les points correspondent à n'importe quel caractère, y compris les passages à la ligne.
-grepnot Comme -grep, mais renvoie la page seulement si l'expression régulière n'est pas vérifiée.
-intersect Fonctionne avec l'intersection de tous les générateurs fournis.
-limit Lorsqu'il est utilisé avec aucun autre argument, -limit:n représente un ensemble de pages; fonctionne avec pas plus de n pages au total.
-namespaces
-namespace
-ns
Filtre le générateur de pages pour ne fournir que les pages se trouvant dans l'espace de noms indiqué. Séparer les noms ou les numéros des multiples espaces de noms à l'aide de virgules.

Exemples :

-ns:0,2,4 -ns:Help,MediaWiki

Vous pouvez préfixer avec not pour exclure des espaces de noms. Exemples :

-ns:not:2,3 -ns:not:Help,File

Si utilisé avec les générateurs -newpages/-random/-randomredirect/-linter, -namespace/-ns doit être fourni AVANT -newpages/-random/-randomredirect/-linter. Si utilisé avec le générateur -recentchanges, l'efficacité est améliorée quand -namespace est fourni AVANT -recentchanges.

Si utilisé avec le générateur -start, -namespace/-ns ne contiendra qu'une valeur.
-onlyif Une requête que la page doit contenir, sinon l'élément ne sera pas renvoyé. Le format est propriété=valeur,qualifieur=valeur. Plusieurs (ou aucun) qualifieurs peuvent être passés, séparés par des virgules.

Exemples :
P1=Q2 (la propriété P1 doit contenir la valeur Q2)
P3=Q4,P5=Q6,P6=Q7 (propriété P3 avec la valeur Q4 et les qualifieurs : P5 avec la valeur Q6 et P6 avec la valeur Q7)

valeur peut être l'ID de page, des coordonnées au format : latitude,longitude[,precision] (toutes les valeurs sont en degrés décimaux), une année, ou une chaîne brute. L'argument peut être fourni plusieurs fois et la page de l'élément ne sera renvoyée que si toutes les demandes sont présentes. L'argument peut aussi être fourni sous forme "-onlyif:expression".
-onlyifnot Une demande que la page NE doit PAS contenir, sinon l'élément ne sera pas renvoyé. Pour l'utilisation et les exemples, voir -onlyif ci-dessus.
-ql Filtre les pages en fonction de leur qualité. Ne s'applique que si contentmodel vaut 'proofread-page', sinon est sans effet. Les valeurs autorisées sont dans l'intervalle 0-4. Les valeurs multiples peuvent être séparées par des virgules.
-subpage -subpage:n ne filtre que les pages de profondeur n; par exemple une profondeur de 0 ne filtre que les sous-pages, et une profondeur de 1 ne filtre que les sous-pages des sous-pages elles-mêmes.
-titleregex Expression régulière que doit vérifier le titre de l'article sinon la page ne sera pas renvoyée. Plusieurs -titleregex:regexpr peuvent être passés et la page sera renvoyée si son titre vérifie l'une des expressions régulières fournies. Les expressions régulières indépendantes de la casse seront utilisées et le point représente tout caractère.
-titleregexnot Comme -titleregex, mais renvoie la page seulement si l'expression régulière n'est pas vérifiée.

  Note : Generators and Filters are available for add action only. tidy and listify action only accepts namespace filter

Arguments globaux disponibles

Ces options remplaceront celles définies dans le fichier de configuration user-config.py .

Options globales
Paramètre Description Nom du paramètre de configuration dans user-config.py
-dir:PATH Lit les données de configuration du robot dans le dossier donné par PATH, au lieu du dossier par défaut.  
-config:fichier Nom du fichier de configuration utilisateur. Default is user-config.py. user-config.py
-lang:xx Définit la langue du wiki sur lequel vous voulez travailler, en outrepassant la configuration de user-config.py. xx doit être le code de la langue (exemple : fr). mylang
-family:xyz Définit la famille du wiki sur lequel vous voulez travailler, tel que wikipedia, wikitionary, wikitravel... Cela outrepassera la configuration de user-config.py. family
-user:xyz Se connecter en tant qu'utilisateur xyz au lieu du nom d'utilisateur par défaut. usernames
-daemonize:xyz Rend le contrôle immédiatement au terminal et redirige la sortie standard (stdout) et la sortie en erreur (stderr) vers le fichier xyz (seulement utilisé pour les robots qui n'ont pas besoin de l'entrée standard (stdin) ).  
-help Affiche le texte d'aide.  
-log Active l'enregistrement des journaux de connexion, en utilisant le nom de fichier par défaut "nom_du_script-bot.log" dans le sous dossier logs. log
-log:xyz Active l'enregistrement des logs dans un fichier avec xyz pour nom. logfilename
-nolog Désactive l'enregistrement des logs (activé par défaut)  
-maxlag Définir le maxlag, en secondes. Reporte les modifications du robot lors de périodes de latence du serveur. La valeur par défaut est celle de config.py. maxlag
-putthrottle:n
-pt:n
-put_throttle:n
Définit le temps minimum (en secondes) que le robot doit attendre entre deux enregistrements de pages. put_throttle
-debug:item
-debug
Active le fichier de log et incluant plus particulièrement les données de débogage pour l'élément item (1er cas) ou pour tous les éléments (2nd cas) debug_log
-verbose
-v
Demande au robot d'être plus verbeux ce qui peut aider pour le débogage. verbose_output
-cosmeticchanges
-cc
Inverse et outrepasse la valeur du paramètre cosmetic_changes de config.py ou de user-config.py (l'active si rien n'est mentionné dans ces fichiers). Tous les autre paramètres et restrictions restent inchangés. cosmetic_changes
-simulate Désactiver l'écriture sur serveur. Utile pour les tests et le débogage de nouveau code (si utilisé, ne fait aucun changement réel, mais montre ce qui aurait été changé). simulate
-<variable de configuration>:n Vous pouvez utilisez toutes les variables numériques de configuration données en tant qu'options et les modifier avec une ligne de commande.  


Voir aussi