Manual:Pywikibot/transferbot.py

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

transferbot.py est un script Pywikibot utilisé pour transférer des pages d'un wiki source vers un wiki cible.

Il copie aussi l’historique d'édition dans une sous-page.

Les liens internes ne sont pas réparés !

Exemples

Transférer toutes les pages de la catégorie "Query service" de la Wikipédia anglaise vers le Wiktionnaire arable en ajoutant "Wiktionary:Import enwp/" comme préfixe:

$ python pwb.py transferbot -family:wikipedia -lang:en -cat:"Query service" -tofamily:wiktionary -tolang:ar -prefix:"Wiktionary:Import enwp/"

Copie le modèle "Query service" du wiki Toolserver vers wikitech:

$ python pwb.py transferbot -family:wikipedia -lang:en -tofamily:wiktionary -tolang:ar -page:"Template:Query service"

Paramètres

ParamètreDescription
-tolang: Le code du site cible.
-tofamily: La famille du site cible.
-prefix: Préfixe de page sur le nouveau site.
-overwrite: Les pages existantes sont évitées par défaut. Utiliser cette option pour écraser les pages.
-target: Utilise un générateur de page sur le cite cible.

Les pages à travailler peuvent être précisées en utilisant l'un des:


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.


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, 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.