Ricordisamoa has uploaded a new change for review.
https://gerrit.wikimedia.org/r/202671
Change subject: More Wikibase-related simplifications
......................................................................
More Wikibase-related simplifications
* use the `default` argument of dict.get()
instead of directly checking the presence of keys in dicts
* use .items() on dicts
instead of iterating over keys and getting values manually
* in ItemPage.get(), update the dict returned by WikibasePage.get()
instead of creating a new one from scratch
* use list comprehension where cleaner
Change-Id: Ie34d5ccc42c2a1faa28cd7e6185955f153e59dd3
---
M pywikibot/page.py
1 file changed, 19 insertions(+), 31 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/71/202671/1
diff --git a/pywikibot/page.py b/pywikibot/page.py
index 7da8511..b7621d5 100644
--- a/pywikibot/page.py
+++ b/pywikibot/page.py
@@ -3127,25 +3127,19 @@
# aliases
self.aliases = {}
- if 'aliases' in self._content:
- for lang in self._content['aliases']:
- self.aliases[lang] = list()
- for value in self._content['aliases'][lang]:
- self.aliases[lang].append(value['value'])
+ for lang, values in self._content.get('aliases', {}).items():
+ self.aliases[lang] = [value['value'] for value in values]
# labels
self.labels = {}
- if 'labels' in self._content:
- for lang in self._content['labels']:
- if 'removed' not in self._content['labels'][lang]: # Bug 54767
- self.labels[lang] = self._content['labels'][lang]['value']
+ for lang, value in self._content.get('labels', {}).items():
+ if 'removed' not in value: # Bug 54767
+ self.labels[lang] = value['value']
# descriptions
self.descriptions = {}
- if 'descriptions' in self._content:
- for lang in self._content['descriptions']:
- self.descriptions[lang] = self._content[
- 'descriptions'][lang]['value']
+ for lang, value in self._content.get('descriptions', {}).items():
+ self.descriptions[lang] = value['value']
return {'aliases': self.aliases,
'labels': self.labels,
@@ -3466,31 +3460,25 @@
@type force: bool
@param args: values of props
"""
- super(ItemPage, self).get(force=force, *args, **kwargs)
+ data = super(ItemPage, self).get(force=force, *args, **kwargs)
# claims
self.claims = {}
- if 'claims' in self._content:
- for pid in self._content['claims']:
- self.claims[pid] = list()
- for claim in self._content['claims'][pid]:
- c = Claim.fromJSON(self.repo, claim)
- c.on_item = self
- self.claims[pid].append(c)
+ for pid, claims in self._content.get('claims', {}).items():
+ self.claims[pid] = []
+ for claim in claims:
+ c = Claim.fromJSON(self.repo, claim)
+ c.on_item = self
+ self.claims[pid].append(c)
# sitelinks
self.sitelinks = {}
- if 'sitelinks' in self._content:
- for dbname in self._content['sitelinks']:
- self.sitelinks[dbname] = self._content[
- 'sitelinks'][dbname]['title']
+ for dbname, value in self._content.get('sitelinks', {}).items():
+ self.sitelinks[dbname] = value['title']
- return {'aliases': self.aliases,
- 'labels': self.labels,
- 'descriptions': self.descriptions,
- 'sitelinks': self.sitelinks,
- 'claims': self.claims
- }
+ data['claims'] = self.claims
+ data['sitelinks'] = self.sitelinks
+ return data
def getRedirectTarget(self):
"""Return the redirect target for this page."""
--
To view, visit https://gerrit.wikimedia.org/r/202671
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie34d5ccc42c2a1faa28cd7e6185955f153e59dd3
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Ricordisamoa <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits