Applied some more code simplifications suggested by the new Simplify checker (Y116: use dictionary access instead of multiple ifs).

Wed, 14 Apr 2021 17:39:44 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 14 Apr 2021 17:39:44 +0200
changeset 8237
acc1490f822e
parent 8236
695777f04b25
child 8238
849d7434c2e1

Applied some more code simplifications suggested by the new Simplify checker (Y116: use dictionary access instead of multiple ifs).

eric6.epj file | annotate | diff | comparison | revisions
eric6/Debugger/VariablesViewer.py file | annotate | diff | comparison | revisions
eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py file | annotate | diff | comparison | revisions
eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py file | annotate | diff | comparison | revisions
eric6/Project/Project.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/ImageSearch/ImageSearchEngine.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Tools/WebIconProvider.py file | annotate | diff | comparison | revisions
--- a/eric6.epj	Wed Apr 14 17:34:27 2021 +0200
+++ b/eric6.epj	Wed Apr 14 17:39:44 2021 +0200
@@ -49,7 +49,7 @@
         "DocstringType": "eric",
         "EnabledCheckerCategories": "C, D, E, M, N, Y, W",
         "ExcludeFiles": "*/ThirdParty/*, */coverage/*, */Ui_*.py, */Examples/*, */*_rc.py,*/pycodestyle.py,*/pyflakes/checker.py,*/mccabe.py,*/eradicate.py,*/ast_unparse.py",
-        "ExcludeMessages": "C101,E265,E266,E305,E402,M201,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,N802,N803,N807,N808,N821,W293,W504,Y116,Y119,Y401,Y402",
+        "ExcludeMessages": "C101,E265,E266,E305,E402,M201,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,N802,N803,N807,N808,N821,W293,W504,Y119,Y401,Y402",
         "FixCodes": "",
         "FixIssues": false,
         "FutureChecker": "",
--- a/eric6/Debugger/VariablesViewer.py	Wed Apr 14 17:34:27 2021 +0200
+++ b/eric6/Debugger/VariablesViewer.py	Wed Apr 14 17:39:44 2021 +0200
@@ -636,14 +636,12 @@
                     if role == SORT_ROLE:
                         return node.sort
                     return node.name + node.indicator
-                elif column == 1:
-                    return node.valueShort
-                elif column == 2:
-                    return node.type
-                elif column == 3:
-                    return node.sort
                 else:
-                    return None
+                    return {
+                        1: node.valueShort,
+                        2: node.type,
+                        3: node.sort
+                    }.get(column)
             except AttributeError:
                 return ['None', '', '', ''][column]
         
@@ -714,16 +712,12 @@
         ):
             return None
         
-        if section == 0:
-            return self.rootNode.name
-        elif section == 1:
-            return self.rootNode.value
-        elif section == 2:
-            return self.rootNode.type
-        elif section == 3:
-            return self.rootNode.sort
-        
-        return None
+        return {
+            0: self.rootNode.name,
+            1: self.rootNode.value,
+            2: self.rootNode.type,
+            3: self.rootNode.sort
+        }.get(section)
     
     def __findPendingItem(self, parent=None, pathlist=()):
         """
--- a/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py	Wed Apr 14 17:34:27 2021 +0200
+++ b/eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py	Wed Apr 14 17:39:44 2021 +0200
@@ -34,28 +34,31 @@
     @param name name of a translation engine (string)
     @return translated engine name (string)
     """
-    if name == "googlev1":
-        return QCoreApplication.translate("TranslatorEngines", "Google V.1")
-    elif name == "mymemory":
-        return QCoreApplication.translate("TranslatorEngines", "MyMemory")
-    elif name == "glosbe":
-        return QCoreApplication.translate("TranslatorEngines", "Glosbe")
-    elif name == "promt":
-        return QCoreApplication.translate("TranslatorEngines", "PROMT")
-    elif name == "yandex":
-        return QCoreApplication.translate("TranslatorEngines", "Yandex")
-    elif name == "googlev2":
-        return QCoreApplication.translate("TranslatorEngines", "Google V.2")
-    elif name == "microsoft":
-        return QCoreApplication.translate("TranslatorEngines", "Microsoft")
-    elif name == "deepl":
-        return QCoreApplication.translate("TranslatorEngines", "DeepL Pro")
-    elif name == "ibm_watson":
-        return QCoreApplication.translate("TranslatorEngines", "IBM Watson")
-    else:
-        return QCoreApplication.translate(
+    return {
+        "googlev1":
+            QCoreApplication.translate("TranslatorEngines", "Google V.1"),
+        "googlev2":
+            QCoreApplication.translate("TranslatorEngines", "Google V.2"),
+        "mymemory":
+            QCoreApplication.translate("TranslatorEngines", "MyMemory"),
+        "glosbe":
+            QCoreApplication.translate("TranslatorEngines", "Glosbe"),
+        "promt":
+            QCoreApplication.translate("TranslatorEngines", "PROMT"),
+        "yandex":
+            QCoreApplication.translate("TranslatorEngines", "Yandex"),
+        "microsoft":
+            QCoreApplication.translate("TranslatorEngines", "Microsoft"),
+        "deepl":
+            QCoreApplication.translate("TranslatorEngines", "DeepL Pro"),
+        "ibm_watson":
+            QCoreApplication.translate("TranslatorEngines", "IBM Watson")
+    }.get(
+        name,
+        QCoreApplication.translate(
             "TranslatorEngines", "Unknow translation service name ({0})"
         ).format(name)
+    )
 
 
 def getTranslationEngine(name, plugin, parent=None):
@@ -130,17 +133,17 @@
     @param name name of the online translation service (string)
     @return key request URL (string)
     """
-    if name == "mymemory":
-        return "http://mymemory.translated.net/doc/keygen.php"
-    elif name == "yandex":
-        return "http://api.yandex.com/key/form.xml?service=trnsl"
-    elif name == "googlev2":
-        return "https://console.developers.google.com/"
-    elif name == "microsoft":
-        return "https://portal.azure.com"
-    elif name == "ibm_watson":
-        return "https://www.ibm.com/watson/services/language-translator/"
-    elif name == "deepl":
-        return "https://www.deepl.com/pro-registration.html"
-    else:
-        return ""
+    return {
+        "googlev2":
+            "https://console.developers.google.com/",
+        "mymemory":
+            "http://mymemory.translated.net/doc/keygen.php",
+        "yandex":
+            "http://api.yandex.com/key/form.xml?service=trnsl",
+        "microsoft":
+            "https://portal.azure.com",
+        "deepl":
+            "https://www.deepl.com/pro-registration.html",
+        "ibm_watson":
+            "https://www.ibm.com/watson/services/language-translator/"
+    }.get(name, "")
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py	Wed Apr 14 17:34:27 2021 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py	Wed Apr 14 17:39:44 2021 +0200
@@ -88,19 +88,15 @@
             secs = QDateTime.fromString(
                 dateStr, Qt.DateFormat.ISODate).toTime_t()
             return pysvn.Revision(pysvn.opt_revision_kind.date, secs)
-        elif version == "HEAD":
-            return pysvn.Revision(pysvn.opt_revision_kind.head)
-        elif version == "COMMITTED":
-            return pysvn.Revision(pysvn.opt_revision_kind.committed)
-        elif version == "BASE":
-            return pysvn.Revision(pysvn.opt_revision_kind.base)
-        elif version == "WORKING":
-            return pysvn.Revision(pysvn.opt_revision_kind.working)
-        elif version == "PREV":
-            return pysvn.Revision(pysvn.opt_revision_kind.previous)
         else:
-            return pysvn.Revision(pysvn.opt_revision_kind.unspecified)
-        
+            return {
+                "HEAD": pysvn.Revision(pysvn.opt_revision_kind.head),
+                "COMMITTED": pysvn.Revision(pysvn.opt_revision_kind.committed),
+                "BASE": pysvn.Revision(pysvn.opt_revision_kind.base),
+                "WORKING": pysvn.Revision(pysvn.opt_revision_kind.working),
+                "PREV": pysvn.Revision(pysvn.opt_revision_kind.previous),
+            }.get(version, pysvn.Revision(pysvn.opt_revision_kind.unspecified))
+    
     def __getDiffSummaryKind(self, summaryKind):
         """
         Private method to get a string descripion of the diff summary.
--- a/eric6/Project/Project.py	Wed Apr 14 17:34:27 2021 +0200
+++ b/eric6/Project/Project.py	Wed Apr 14 17:39:44 2021 +0200
@@ -237,15 +237,14 @@
                 if ext not in extensions:
                     extensions.append(ext)
             return extensions
-        elif language == "Ruby":
-            return ['.rb']
-        elif language == "JavaScript":
-            return ['.js']
-        elif language == "Mixed":
-            return (Preferences.getPython("Python3Extensions") +
-                    ['.rb', '.js'])
         else:
-            return [""]
+            return {
+                "Ruby": [".rb"],
+                "JavaScript": [".js"],
+                "Mixed": (
+                    Preferences.getPython("Python3Extensions") +
+                    ['.rb', '.js']),
+            }.get(language, "")
         
     def getProgrammingLanguages(self):
         """
--- a/eric6/WebBrowser/ImageSearch/ImageSearchEngine.py	Wed Apr 14 17:34:27 2021 +0200
+++ b/eric6/WebBrowser/ImageSearch/ImageSearchEngine.py	Wed Apr 14 17:39:44 2021 +0200
@@ -69,7 +69,7 @@
             searchEngine = self.searchEngine()
         
         searchEngine_l = searchEngine.lower()
-        if searchEngine_l == "google":
+        if searchEngine_l == "google":              # __IGNORE_WARNING_Y116__
             return QUrl("https://www.google.com/searchbyimage?"
                         "site=search&image_url={0}".format(
                             imageUrl.toString()))
--- a/eric6/WebBrowser/Tools/WebIconProvider.py	Wed Apr 14 17:34:27 2021 +0200
+++ b/eric6/WebBrowser/Tools/WebIconProvider.py	Wed Apr 14 17:39:44 2021 +0200
@@ -173,17 +173,19 @@
         @return icon for the URL
         @rtype QIcon
         """
+        scheme2iconName = {
+            "eric": "ericWeb",
+            "about": "ericWeb",
+            "qthelp": "qthelp",
+            "file": "fileMisc",
+            "abp": "adBlockPlus",
+            "ftp": "network-server",
+        }
+        
         scheme = url.scheme()
-        if scheme in ["eric", "about"]:
-            return UI.PixmapCache.getIcon("ericWeb")
-        elif scheme == "qthelp":
-            return UI.PixmapCache.getIcon("qthelp")
-        elif scheme == "file":
-            return UI.PixmapCache.getIcon("fileMisc")
-        elif scheme == "abp":
-            return UI.PixmapCache.getIcon("adBlockPlus")
-        elif scheme == "ftp":
-            return UI.PixmapCache.getIcon("network-server")
+        iconName = scheme2iconName.get(scheme)
+        if iconName:
+            return UI.PixmapCache.getIcon(iconName)
         
         self.load()
         

eric ide

mercurial