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
fax : +33 (0)2 98 01 63 93
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 list
pywikibot@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/pywikibot


_______________________________________________
pywikibot mailing list
pywikibot@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/pywikibot