Manuel:Pywikibot/user-config.py

From mediawiki.org
This page is a translated version of the page Manual:Pywikibot/user-config.py and the translation is 100% complete.

Configuration

Avant d'exécuter tout programme, vous devez créer un fichier nommé user-config.py dans votre dossier pywikibot. Il existe deux façons de le créer :

  1. Créer le fichier manuellement. Il faut au moins deux ou trois variables configurées et placées au bon endroit.
  2. Exécutez le script generate_user_files.py en entrant python pwb.py generate_user_files.py dans un shell de commande, ce qui génèrera le fichier de manière interactive comme s'il y avait créét avec un assistant, et enregistrez-le à l'emplacement par défaut de configuration.

Emplacement

Pywikibot cherche user-config aux endroits suivants, dans l'ordre :

  • Spécifié par l'argument -dir: (par exemple : -dir:/foo/bar)
  • Le contenu de la variable d'environnement PYWIKIBOT_DIR
  • Le répertoire actuel
  • Le répertoire dans lequel se trouve le fichier pwb.py
  • Le répertoire .pywikibot dans le répertoire des données d'application (sous Windows) ou le répertoire personnel (ce répertoire est créé automatiquement)

(Voir aussi : get_base_dir().)

Vous trouverez ci-dessous les instructions pour modifier manuellement ce fichier.

Pour les projets Wikimédia

Ouvrez un éditeur de texte (tel que Notepad sous Windows) et enregistrez le fichier texte en tant que user-config.py dans le répertoire pywikibot .

Si votre langue n'utilise pas les caractères ASCII, vous devez utiliser un éditeur tel que Notepad++ qui prend en charge Unicode et enregistrer votre fichier user-config avec l'encodage Unicode SANS les marqueurs BOM. N'oubliez pas d'insérer :

# -*- coding: utf-8 -*-

sur la première ligne.

Ajoutez les lignes suivantes à user-config.py :

Code Explication
family = 'wikipedia'
mylang = 'en'

xx est le code de langue avec lequel vous travaillez, par exemple 'en' pour l'anglais.[1] family est le nom du projet.[2]

usernames['wikipedia']['en'] = 'ExampleBot'

Votre fichier user-config.py doit spécifier le nom d'utilisateur du robot.

Dans cet exemple l'utilisateur travaille sur la Wikipedia anglophone, et il a créé un compte de robot ayant pour nom d'utilisateur ExampleBot. [3]

(Optionnel)

authenticate['*.wikipedia.org'] = ('<consumer_key>','<consumer_secret>', '<access_key>', '<access_secret>')

Ceci remplace l'authentification basée sur le mot de passe avec OAuth, qui est plus sécurisée (particulièrement pour les robots se partageant les mêmes propriétaires). Voir Pywikibot/OAuth pour connaître la manière d'obtenir les clés et les secrets.

(Optionnel)

usernames['wikipedia']['de'] = 'BeispielBot'
usernames['wikipedia']['en'] = 'ExampleBot'
usernames['wiktionary']['de'] = 'BeispielBot'

Si vous travaillez sur plus d'un projet Wikimedia, vous pouvez également ajouter plusieurs noms d'utilisateur.

(Optionnel et rarement utilisé)

console_encoding = 'utf-8'
textfile_encoding = 'unicode_escape'

Il s'agit de l'encodage utilisé par votre système. Essayez toujours sans, en premier.

(Optionnel)

sort_ignore_case = True

Certains scripts peuvent utiliser cela pour trier, par exemple solve_disambiguation.py. La valeur par défaut est False. Les titres en majuscules seront avant les titres en minuscules si cette clé est à False ou absente, et la casse est ignorée par le tri si la valeur est à True.

(Optionnel)

password_file = "user-password.py"

Indique un fichier de mots de passe. Chaque ligne de ce fichier est un tuple exprimé dans l'un des formats suivants :

(code, family, username, password)
(family, username, password)
(username, password)

Pour les mots de passe des robots, voir Pywikibot/BotPasswords.

(Optional)
user_agent_description = "Description <contact@email.com>"
A free-form string that can be user to describe specific bot/tool, provide contact information, etc.

Maintenant enregistrez user-config.py à nouveau.

Exemples de fichier user-config.py

EksempelBot sur no.wikipedia

mylang = 'no'
usernames['wikipedia']['no'] = 'EksempelBot'

console_encoding = 'utf-8'
use_api_login = True

ExampleBot sur Commons

mylang = 'commons'
family = 'commons'
usernames['commons']['commons'] = 'ExampleBot'

console_encoding = 'utf-8'
use_api_login = True

ExampleBot sur Wikidata

mylang = 'wikidata'
family = 'wikidata'
usernames['wikidata']['wikidata'] = 'ExampleBot'

console_encoding = 'utf-8'
use_api_login = True

ExampleBot sur Test wiki

mylang = 'test'
family = 'test'
usernames['test']['test'] = 'ExampleBot'

ExampleBot sur wiki Test2

mylang = 'test2'
family = 'wikipedia'
usernames['wikipedia']['test2'] = 'ExampleBot'

BeispielBot sur de.wikipedia et de.wikibooks, avec de.wikipedia comme wiki principal

mylang = 'de'
usernames['wikipedia']['de'] = 'BeispielBot'
usernames['wikibooks']['de'] = 'BeispielBot'

console_encoding = 'utf-8'
use_api_login = True

Pour les wikis non Wikimedia

Voir la page principale Pywikibot/Use on third-party wikis

Voir aussi

  • config2.py (code source du module qui charge et interprète le fichier user-config.py)


Notes

  1. Si vous souhaitez travailler avec plusieurs langues, choisissez la plus commune. Vous pouvez réécraser cela sur la ligne de commande en utilisant le paramètre -lang:zh .
  2. Meta utilise 'meta' à la fois pour le code de langue et pour la famille de wikis, Commons utilise 'commons' dans les deux cas, et Testwiki utilise 'test' aussi dans les deux cas, le wikisource multilangues utilise '-' pour la langue. Vous pouvez réécraser cela sur la ligne de commande en utilisant -family:wikibooks .
  3. Notez-bien que sur les plateformes de type Linux/Unix, la casse des noms d'utilisateur est prise en compte ! Cela peut ne pas être un problème si vous vous connectez; mais si vous testez les journaux ou si vous essayez d'utiliser un robot on risque de ne pas utiliser le bon fichier de cookies et forcer un accès de type anonyme à l'API. C'est problématique sur les wikis privés qui n'autorisent pas les accès anonymes ou qui passent par des authentifications tierces. Les noms des utilisateurs par défaut de Mediawiki ainsi que ceux récupérés par LDAP ou d'autres schémas tiers d'authentification auront une première lettre majuscule, ainsi 'user' devient 'User'.


Si vous avez besoin de plus d'aide pour configurer votre Pywikibot, consultez le canal IRC #pywikibot connecter ou la liste de diffusion pywikibot@.