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

Reply via email to