jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/667351 )

Change subject: [IMPR] avoid deeply nested control flow statements in 
_collections.py
......................................................................

[IMPR] avoid deeply nested control flow statements in _collections.py

Change-Id: I8efaed3cfb23e775aed0841f040f1855773d8888
---
M pywikibot/page/_collections.py
1 file changed, 31 insertions(+), 25 deletions(-)

Approvals:
  Xqt: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/pywikibot/page/_collections.py b/pywikibot/page/_collections.py
index a6d49f5..68fbc4a 100644
--- a/pywikibot/page/_collections.py
+++ b/pywikibot/page/_collections.py
@@ -10,6 +10,8 @@

 import pywikibot

+from pywikibot.site import BaseSite
+

 __all__ = (
     'AliasesDict',
@@ -67,7 +69,7 @@
     @staticmethod
     def normalizeKey(key) -> str:
         """Helper function to return language codes of a site object."""
-        if isinstance(key, pywikibot.site.BaseSite):
+        if isinstance(key, BaseSite):
             key = key.lang
         return key

@@ -266,15 +268,17 @@
                 claim_map = {
                     json['id']: json for json in diffto[prop]
                     if 'id' in json}
+
                 for claim, json in zip(self[prop], claims[prop]):
-                    if 'id' in json:
-                        claim_ids.add(json['id'])
-                        if json['id'] in claim_map:
-                            other = pywikibot.page.Claim.fromJSON(
-                                self.repo, claim_map[json['id']])
-                            if claim.same_as(other, ignore_rank=False,
-                                             ignore_refs=False):
-                                continue
+                    if 'id' not in json:
+                        continue
+                    claim_ids.add(json['id'])
+                    if json['id'] in claim_map:
+                        other = pywikibot.page.Claim.fromJSON(
+                            self.repo, claim_map[json['id']])
+                        if claim.same_as(other, ignore_rank=False,
+                                         ignore_refs=False):
+                            continue
                     temp[prop].append(json)

                 for claim in diffto[prop]:
@@ -326,7 +330,7 @@
         @param site: The site to look up.
         @type site: pywikibot.site.BaseSite or str
         """
-        if isinstance(site, pywikibot.site.BaseSite):
+        if isinstance(site, BaseSite):
             return site.dbName()
         return site

@@ -442,21 +446,23 @@
         if diffto:
             to_nuke = []
             for dbname, sitelink in data.items():
-                if dbname in diffto:
-                    diffto_link = diffto[dbname]
-                    if diffto_link.get('title') == sitelink.get('title'):
-                        # compare badges
-                        tmp_badges = []
-                        diffto_badges = diffto_link.get('badges', [])
-                        badges = sitelink.get('badges', [])
-                        for badge in set(diffto_badges) - set(badges):
-                            tmp_badges.append('')
-                        for badge in set(badges) - set(diffto_badges):
-                            tmp_badges.append(badge)
-                        if tmp_badges:
-                            data[dbname]['badges'] = tmp_badges
-                        else:
-                            to_nuke.append(dbname)
+                if dbname not in diffto:
+                    continue
+                diffto_link = diffto[dbname]
+                if diffto_link.get('title') == sitelink.get('title'):
+                    # compare badges
+                    tmp_badges = []
+                    diffto_badges = diffto_link.get('badges', [])
+                    badges = sitelink.get('badges', [])
+                    for badge in set(diffto_badges) - set(badges):
+                        tmp_badges.append('')
+                    for badge in set(badges) - set(diffto_badges):
+                        tmp_badges.append(badge)
+                    if tmp_badges:
+                        data[dbname]['badges'] = tmp_badges
+                    else:
+                        to_nuke.append(dbname)
+
             # find removed sitelinks
             for dbname in (set(diffto.keys()) - set(self.keys())):
                 badges = [''] * len(diffto[dbname].get('badges', []))

--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/667351
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I8efaed3cfb23e775aed0841f040f1855773d8888
Gerrit-Change-Number: 667351
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits

Reply via email to