Just took a quick glance but I believe you need to set the following in the family file for the wikibase site.
``` def interface(self, code): return 'DataSite' ``` After this you should be able to use
``` repo = pywikibot.Site("fr", "wikidatacrbc") item = pywikibot.ItemPage(repo, "Q3") ```
Cheers, André / Lokal_Profil
On 21 Feb 2017 14:22, "Jean-Baptiste Pressac" <Jean-Baptiste.Pressac@univ- brest.fr> wrote:
Hello,
To retrieve data from http://localhost/wikidata/index.php/Item:Q3 I understood I should better do:
site = pywikibot.Site() repo = site.data_repository() item = pywikibot.ItemPage(repo, "Q3")
However, the repo variable returns None. From where does data_repository() gets the data repository ?
user-config.py is as follows:
# -*- coding: utf-8 -*-
mylang = 'fr' family = 'wikidatacrbc' usernames['wikidatacrbc']['fr'] = u'xxxxx' console_encoding = 'utf-8'
and my family file (wikidatacrbc_family.py) is as follows
# -*- coding: utf-8 -*- """ This family file was auto-generated by $Id: xxxxxxxx $ Configuration parameters: url = http://localhost/wikidata/ name = wikidatacrbc
Please do not commit this to the Git repository! """
from pywikibot import family from pywikibot.tools import deprecated
class Family(family.Family): def __init__(self): family.Family.__init__(self) self.name = 'wikidatacrbc' self.langs = { 'fr': 'localhost', }
def scriptpath(self, code): return { 'fr': '/wikidata', }[code] @deprecated('APISite.version()') def version(self, code): return { 'fr': u'1.28.0', }[code] def protocol(self, code): return { 'fr': u'http', }[code]
Thanks,
Jean-Baptiste Pressac
Traitement et analyse de bases de données Production et diffusion de corpus numériques
Centre de Recherche Bretonne et Celtique Unité mixte de service (UMS) 3554 20 rue Duquesne CS 93837 29238 Brest cedex 3
tel : +33 (0)2 98 01 68 95 <+33%202%2098%2001%2068%2095> fax : +33 (0)2 98 01 63 93 <+33%202%2098%2001%2063%2093>
Le 21/02/2017 à 11:42, Jean-Baptiste Pressac a écrit :
Hello, I installed Mediawiki 1.28 + Wikibase on Debian for testing purposes. I also downloaded Pywikibot 2.0rc5 and followed : https://www.mediawiki.org/wiki/Manual:Pywikibot/Third-party_ Wiki_Quick_Start.
I edited my first item on http://localhost/wikidata/index.php/Item:Q3 which has "Théodore Hersart de la Villemarqué" as English and French label. I also made some statements about this item. However, I have got a pywikibot exception as I try to retrieve data from this item:
"python pwb.py login" works fine.
I entered the pwb.py shell: "python pwb.py shell" and typed the following:
site = pywikibot.Site() site
APISite("fr", "wikidatacrbc")
page = pywikibot.Page(site, u"Théodore Hersart de la Villemarqué") item = pywikibot.ItemPage.fromPage(page)
Traceback (most recent call last): File "<console>", line 1, in <module> File "/home/jean-baptiste/git/core/pywikibot/page.py", line 3979, in fromPage % page.site) pywikibot.exceptions.WikiBaseError: wikidatacrbc:fr has no transcluded data
Do you have any idea of the causes of this error ? What should be the name of the page in my case ?
Thanks,
pywikibot mailing listpywikibot@lists.wikimedia.orghttps://lists.wikimedia.org/mailman/listinfo/pywikibot
pywikibot mailing list pywikibot@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/pywikibot