Manual:Pywikibot/Compat/deprecation

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Pywikibot/Compat/deprecation and the translation is 100% complete.

Other languages:
Bahasa Indonesia • ‎English • ‎dansk • ‎español • ‎français • ‎čeština • ‎Ελληνικά • ‎български • ‎русский • ‎中文 • ‎日本語

Pywikibot compact est périmé. Les utilisateurs de la librairie doivent se tourner vers la version core actuellement maintenue.

Contexte

Pywikibot (auparavant Pywikipédiabot) est apparu en 2002, lorsque MediaWiki n'avait pas encore d'API. Pywikibot simulait donc un utilisateur humain afin d’interagir avec le site. En 2007, une nouvelle branche du logiciel (revue entièrement) utilisant donc la nouvelle API. Au fil des années Core devient de plus en plus mature et de nombreux scripts ont étés portés sur cette nouvelle version. En 2013, core dépasse compact en nombre de modifications sur le code source. 2015 a vu l'arrêt officiel du développement et du support de la version compact de Pywikibot (voir phab:T99365 et phab:T101214). MediaWiki 1.27 était la dernière version supportée par la branche compact (voir phab:T150613).

Utiliser les scripts

Si vous utilisez les scripts de Pywikibot vous pouvez simplement installer la version core de la librairie. La plupart des scripts ont étés portés sur cette nouvelle version. La version core utilise un wrapper pour faire fonctionner ses scripts. Si vous en utilisez des connus, tel que redirect.py, vous pouvez facilement les utilisez avec core en les lançant avec pwb.py. Par exemple :

python pwb.py redirect #instead of python redirect.py

Migrer les scripts

Si vos scripts utilisent la version compact, un outil permettant la conversion. Un script Python est aussi disponible.

Si vous avez des problèmes pour migrer vos scripts, vous pouvez demander de l'aide à la communauté.

Problèmes connus

pywikibot.Site().dbName() n'ajoute pas le suffixe '_p', donc en cas d'utilisation d'une librairie MySQL pour se connecter aux bases de données des Labs, vous devez ajouter un '_p' manuellement à la fin de la base. Par exemple :

mysqldb.connect("testwiki.labsdb", db = pywikibot.Site().dbName() + "_p", user = config.db_username, passwd = config.db_password)

Problèmes embêtants ?

Si vous obtenez des problèmes bloquants vous empêchant d'utiliser vos scripts avec core, merci de les reporter via un ticket sur Phabricator en le mentionnant dans cette conversation.