Manuel:Pywikibot/category.py
Le dépôt Git de Wikimedia a ce fichier : scripts/category.py |
Removes or adds categories to pages on a Mediawiki site.
Syntaxe
La syntaxe est :
python pwb.py category action [-option]
où 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 |
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 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 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. |
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
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 2012Dans 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 : |
-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:n où n 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:n où n 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:n où n 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:n où n 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:texte où lang 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:n où n 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:n où n 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. |
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 -ns:not:2,3 -ns:not:Help,File Si utilisé avec les générateurs -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 : -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
Cette page est obsolète. |
Ces options remplaceront celles définies dans le fichier de configuration user-config.py .
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, wiktionary, 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
- fr:Aide:Pywikipedia/category.py
- wikigraphviz - visualizes category tree with https://graphviz.org/
- stable source of category.py