Depuis le 18 août 2010, vous devez être identifié pour éditer des pages dans Rodovid (excepté Rodovid Engine).

Aide:Pywikibot

Un article de Rodovid FR.

Jump to: navigation, search

Le programme Pywikibot est décrit sur Wikipedia en français (Aide:Pywikipedia) et en anglais (Manual:Pywikibot).

Sommaire

[modifier] Pour une utilisation de base et sous Windows :

[modifier] 1°) Télécharger…

…à cette adresse le programme package/pywikipedia/compat.zip.
Typiquement il se retrouvera copié dans le répertoire "Téléchargements" sous le nom "compat.zip", et il devra être décompressé dans la foulée dans ce répertoire pour donner un autre dossier "compat".
Pour la clarté de l'installation, il est sans doute plus simple de renommer ce dossier décompressé, par exemple en "cobalt". En ouvrant ce répertoire "cobalt", on tombe sur un seul dossier, lui aussi du nom de "compat". (Si la décompression n'a pas créé deux dossiers "compat" emboîtés mais un dossier unique, il n'y a pas à faire ce renommage).

[modifier] 2°) Copier ce dernier dossier…

… "compat" directement sur le secteur souche (C:) du disque dur. On y trouvera entre autres les dossiers families, pywikibot, watchlists, wikipedia.py, etc.

Attention : le système risque de ne pas marcher si au lieu du chemin normal :
C: > compat > liste des 177 fichiers,
on a un chemin :
C > compat > compat > liste des 177 fichiers.


[modifier] 3°) Télécharger…

… à cette adresse le programme Python 2.7.9 Windows Installer[1]; ensuite double-cliquer sur le fichier "python-2.7.9.msi" pour installer (à titre transitoire) le dossier Python27 sur le secteur souche (C:) du disque dur.
4°) Copier ce nouveau répertoire Python27 et coller le doublon directement dans le répertoire compat de (C:).


Copier le texte ci-dessous et l'enregistrer sous le nom user-config.py.
Pour cela, on peut utiliser le Bloc-notes de Windows (Notepad en anglais).

family = 'rodovid'
mylang = 'fr'
usernames['rodovid']['fr'] = u'X'

console_encoding = 'cp850'
transliteration_target = None
use_api_login = True

(Ne pas oublier de remplacer le X de la 3è ligne par le nom du compte utilisateur.)
Placer ce fichier dans le répertoire compat de (C:).


Copiez le texte ci-dessous et l'enregistrer de la même façon sous le nom rodovid_family.py.

# -*- coding: utf-8  -*-
import family
 
class Family(family.Family):
    def __init__(self):
        family.Family.__init__(self)
        self.name = 'rodovid'
 
        self.langs = {  
            'de': None, 
            'en': 'en.rodovid.org', 
            'fr': 'fr.rodovid.org', 
            'nl': None, 
            'ru': None,
        }
 
        self.namespaces[1] = {
            '_default': u'Talk',
            'en': u'Talk', 
            'fr': u'Discuter', 
        }

        self.namespaces[2] = {
            '_default': u'User',
            'en': u'User', 
            'fr': u'Utilisateur', 
        }

        self.namespaces[3] = {
            '_default': u'User talk',
            'en': u'User talk', 
            'fr': u'Discussion Utilisateur', 
        }

        self.namespaces[4] = {
            '_default': u'Rodovid',
            'en': u'Rodovid EN',
            'fr': u'Rodovid FR',
        }

        self.namespaces[5] = {
            '_default': u'Rodovid talk',
            'en': u'Rodovid EN talk',
            'fr': u'Discussion Rodovid FR',
        }
 
 
    def hostname(self,code):
        return self.langs[code]
 
    def scriptpath(self, code):
        return ''
 
    def apipath(self, code):
        return '/api.php'

    def version(self, code):
        return "1.9.3"

Placer ce fichier dans le répertoire compat de (C:), plus précisément à l'intérieur du sous-répertoire families.


[modifier] Ouvrir la fenêtre de ligne de commande

Taper le message qui va bien.
Taper le message qui va bien.
(Bouton démarrer, Tous les programmes, Accessoires); ajouter cd\ (puis touche Enter)[2] pour remonter au disque C. Ajouter cd compat pour redescendre dans le répertoire compat.

Connecter le bot en lançant la commande login.py; au moment d'ajouter le mot de passe, les lettres n'apparaîtront pas et il n'y aura pas de déplacement du curseur.

Faire la connexion une seule fois est suffisant. Par la suite, on a besoin de refaire cette étape seulement si on modifie user-config.py pour travailler sur un autre site, sous un autre nom, ou avec un autre mot de passe.

[modifier] Pour une utilisation dans Rodovid Engine

Pour faire des essais sur ce site, il faut modifier user-config.py, ajouter un fichier enginerodovid_family.py et refaire l'étape login.

Le contenu de user-config.py est pratiquement le même (on remplace deux "fr" par deux "en", et deux "rodovid" par deux "enginerodovid") :

family = 'enginerodovid'
mylang = 'en'
usernames['enginerodovid']['en'] = u'X'

console_encoding = 'cp850'
transliteration_target = None
use_api_login = True


Un fichier enginerodovid_family.py doit être ajouté dans le répertoire compat, plus précisément à l'intérieur du sous-répertoire families (pas besoin d'effacer le fichier rodovid_family.py qui pourrait déjà s'y trouver). Un contenu qui fonctionne est :

# -*- coding: utf-8  -*-
import family
 
class Family(family.Family):
    def __init__(self):
        family.Family.__init__(self)
        self.name = 'enginerodovid'
 
        self.langs = {  
            'en': 'engine.rodovid.org', 
        }
 
        self.namespaces[1] = {
            '_default': u'Talk',
            'en': u'Talk', 
        }

        self.namespaces[2] = {
            '_default': u'User',
            'en': u'User', 
        }

        self.namespaces[3] = {
            '_default': u'User talk',
            'en': u'User talk', 
        }

        self.namespaces[4] = {
            '_default': u'Rodovid',
            'en': u'Rodovid EN',
        }

        self.namespaces[5] = {
            '_default': u'Rodovid talk',
            'en': u'Rodovid EN talk',
        }
 
 
    def hostname(self,code):
        return self.langs[code]
 
    def scriptpath(self, code):
        return ''
 
    def apipath(self, code):
        return '/api.php'

    def version(self, code):
        return "1.9.3"