From 382bf5f182c56fa8d646799e1e2e1317d06afa59 Mon Sep 17 00:00:00 2001 From: Pierre-Selim Date: Sun, 30 Aug 2015 12:56:44 +0200 Subject: [PATCH] wikibase_item and wikibase_repository as properties, typo in docstring As discussed in mwclient/mwclient#96 wikibase_item() and wikibase() are good candidate for properties. Typo: dictionnary -> dictionary --- mwclient/client.py | 15 ++++++++------- mwclient/page.py | 10 ++++++---- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/mwclient/client.py b/mwclient/client.py index 14884039..bf4db668 100644 --- a/mwclient/client.py +++ b/mwclient/client.py @@ -118,7 +118,7 @@ def __init__(self, host, path='/w/', ext='.php', pool=None, retry_timeout=30, self.Images = self.images # wikibase caching - self.wikibase_site = None + self._wikibase_repository = None # Initialization status self.initialized = False @@ -1091,17 +1091,18 @@ def ask(self, query, title=None): for key, value in answers.items(): yield {key: value} - def wikibase(self): + @property + def wikibase_repository(self): """Wiki base repository.""" - if self.wikibase_site is None: + if self._wikibase_repository is None: result = self.api('query', meta='wikibase') url = result['query']['wikibase']['repo']['url'] host = url['base'].replace('//', '') path = url['scriptpath'] + "/" - self.wikibase_site = WikiBaseSite(('https', host), - path=path, - pool=self.connection) - return self.wikibase_site + self._wikibase_repository = WikiBaseSite(('https', host), + path=path, + pool=self.connection) + return self._wikibase_repository class WikiBaseSite(Site): diff --git a/mwclient/page.py b/mwclient/page.py index 87bec863..f98b9f33 100644 --- a/mwclient/page.py +++ b/mwclient/page.py @@ -66,7 +66,7 @@ def __init__(self, site, name, info=None, extra_properties=None): self.edit_time = None # caching wikibase_item - self.item = None + self._wikibase_item = None def redirects_to(self): """ Returns the redirect target page, or None if the page is not a redirect page.""" @@ -496,12 +496,13 @@ def templates(self, namespace=None, generator=True): return mwclient.listing.PageProperty(self, 'templates', prefix, return_values='title', **kwargs) + @property def wikibase_item(self): """Item linked to a Page. if a wikibase item is linked to a page it returns this item, None otherwise.""" - if self.item is None: + if self._wikibase_item is None: info = self.site.api('query', prop='pageprops', titles=self.name, @@ -513,5 +514,6 @@ def wikibase_item(self): # a wikibase_item property entity = info[pageid]['pageprops']['wikibase_item'] if entity is not None: - self.item = mwclient.entity.Item(self.site.wikibase(), entity) - return self.item + self._wikibase_item = mwclient.entity.Item(self.site.wikibase_repository, + entity) + return self._wikibase_item