Implemented some code simplifications. release-3.2.0

Mon, 26 Apr 2021 19:32:34 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 26 Apr 2021 19:32:34 +0200
changeset 51
b5a1a986b800
parent 50
481e5fb703c5
child 52
fd2cdcedb8b9

Implemented some code simplifications.

ChangeLog file | annotate | diff | comparison | revisions
PluginToolGenerateHash.epj file | annotate | diff | comparison | revisions
PluginToolGenerateHash.py file | annotate | diff | comparison | revisions
PluginToolGenerateHash.zip file | annotate | diff | comparison | revisions
ToolGenerateHash/Documentation/source/Plugin_Tools_GenerateHash.PluginToolGenerateHash.html file | annotate | diff | comparison | revisions
--- a/ChangeLog	Wed Dec 30 11:02:13 2020 +0100
+++ b/ChangeLog	Mon Apr 26 19:32:34 2021 +0200
@@ -1,5 +1,8 @@
 ChangeLog
 ---------
+Version 3.2.0:
+- implemented some code simplifications.
+
 Version 3.1.0:
 - changed code to use the 'open()' context manager
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PluginToolGenerateHash.epj	Mon Apr 26 19:32:34 2021 +0200
@@ -0,0 +1,260 @@
+{
+  "header": {
+    "comment": "eric project file for project PluginToolGenerateHash",
+    "copyright": "Copyright (C) 2021 Detlev Offenbach, detlev@die-offenbachs.de"
+  },
+  "project": {
+    "AUTHOR": "Detlev Offenbach",
+    "CHECKERSPARMS": {
+      "Pep8Checker": {
+        "AnnotationsChecker": {
+          "AllowUntypedDefs": false,
+          "AllowUntypedNested": false,
+          "DispatchDecorators": [
+            "singledispatch",
+            "singledispatchmethod"
+          ],
+          "MaximumComplexity": 3,
+          "MaximumLength": 7,
+          "MinimumCoverage": 75,
+          "MypyInitReturn": false,
+          "OverloadDecorators": [
+            "overload"
+          ],
+          "SuppressDummyArgs": false,
+          "SuppressNoneReturning": true
+        },
+        "BlankLines": [
+          2,
+          1
+        ],
+        "BuiltinsChecker": {
+          "bytes": [
+            "unicode"
+          ],
+          "chr": [
+            "unichr"
+          ],
+          "str": [
+            "unicode"
+          ]
+        },
+        "CommentedCodeChecker": {
+          "Aggressive": false,
+          "WhiteList": [
+            "pylint",
+            "pyright",
+            "noqa",
+            "type:\\s*ignore",
+            "fmt:\\s*(on|off)",
+            "TODO",
+            "FIXME",
+            "WARNING",
+            "NOTE",
+            "TEST",
+            "DOCU",
+            "XXX",
+            "- "
+          ]
+        },
+        "CopyrightAuthor": "",
+        "CopyrightMinFileSize": 0,
+        "DocstringType": "eric",
+        "EnabledCheckerCategories": "C, D, E, M, N, S, Y, W",
+        "ExcludeFiles": "*/Ui_*.py, */*_rc.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,Y119,Y401,Y402",
+        "FixCodes": "",
+        "FixIssues": false,
+        "FutureChecker": "",
+        "HangClosing": false,
+        "IncludeMessages": "",
+        "LineComplexity": 25,
+        "LineComplexityScore": 10,
+        "MaxCodeComplexity": 10,
+        "MaxDocLineLength": 79,
+        "MaxLineLength": 79,
+        "NoFixCodes": "E501",
+        "RepeatMessages": true,
+        "SecurityChecker": {
+          "CheckTypedException": false,
+          "HardcodedTmpDirectories": [
+            "/tmp",
+            "/var/tmp",
+            "/dev/shm",
+            "~/tmp"
+          ],
+          "InsecureHashes": [
+            "md4",
+            "md5",
+            "sha",
+            "sha1"
+          ],
+          "InsecureSslProtocolVersions": [
+            "PROTOCOL_SSLv2",
+            "SSLv2_METHOD",
+            "SSLv23_METHOD",
+            "PROTOCOL_SSLv3",
+            "PROTOCOL_TLSv1",
+            "SSLv3_METHOD",
+            "TLSv1_METHOD"
+          ],
+          "WeakKeySizeDsaHigh": "1024",
+          "WeakKeySizeDsaMedium": "2048",
+          "WeakKeySizeEcHigh": "160",
+          "WeakKeySizeEcMedium": "224",
+          "WeakKeySizeRsaHigh": "1024",
+          "WeakKeySizeRsaMedium": "2048"
+        },
+        "ShowIgnored": false,
+        "ValidEncodings": "latin-1, utf-8"
+      }
+    },
+    "DESCRIPTION": "Plug-in to generate a hash for a selectable file or directory. The hash string will be inserted at the cursor position of the current editor. The menu will be disabled, if no editor is open.",
+    "DOCSTRING": "",
+    "DOCUMENTATIONPARMS": {
+      "ERIC4DOC": {
+        "cssFile": "%PYTHON%/eric6/CSSs/default.css",
+        "ignoreDirectories": [
+          ".eric5project",
+          ".hg",
+          ".ropeproject",
+          "_eric5project",
+          "_ropeproject",
+          ".eric6project",
+          "_eric6project"
+        ],
+        "ignoreFilePatterns": [
+          "Ui_*.py"
+        ],
+        "noempty": true,
+        "outputDirectory": "ToolGenerateHash/Documentation/source",
+        "qtHelpEnabled": false,
+        "useRecursion": true
+      }
+    },
+    "EMAIL": "detlev@die-offenbachs.de",
+    "EOL": 1,
+    "FILETYPES": {
+      "*.idl": "INTERFACES",
+      "*.py": "SOURCES",
+      "*.py3": "SOURCES",
+      "*.pyw": "SOURCES",
+      "*.pyw3": "SOURCES",
+      "*.qm": "TRANSLATIONS",
+      "*.qrc": "RESOURCES",
+      "*.ts": "TRANSLATIONS",
+      "*.ui": "FORMS",
+      "*.ui.h": "FORMS",
+      "Ui_*.py": "__IGNORE__"
+    },
+    "FORMS": [],
+    "HASH": "e12a2faac47650641bab7c4e2ba3e72e34c1a040",
+    "IDLPARAMS": {
+      "DefinedNames": [],
+      "IncludeDirs": [],
+      "UndefinedNames": []
+    },
+    "INTERFACES": [],
+    "LEXERASSOCS": {},
+    "MAINSCRIPT": "PluginToolGenerateHash.py",
+    "MAKEPARAMS": {
+      "MakeEnabled": false,
+      "MakeExecutable": "",
+      "MakeFile": "",
+      "MakeParameters": "",
+      "MakeTarget": "",
+      "MakeTestOnly": true
+    },
+    "MIXEDLANGUAGE": false,
+    "OTHERS": [
+      ".hgignore",
+      "ChangeLog",
+      "PKGLIST",
+      "PluginToolGenerateHash.e4p",
+      "PluginToolGenerateHash.zip",
+      "ToolGenerateHash/Documentation/LICENSE.GPL3",
+      "ToolGenerateHash/Documentation/source",
+      "PluginToolGenerateHash.epj"
+    ],
+    "OTHERTOOLSPARMS": {},
+    "PACKAGERSPARMS": {},
+    "PROGLANGUAGE": "Python3",
+    "PROJECTTYPE": "E6Plugin",
+    "PROJECTTYPESPECIFICDATA": {},
+    "PROTOCOLS": [],
+    "RCCPARAMS": {
+      "CompressLevel": 0,
+      "CompressionDisable": false,
+      "CompressionThreshold": 70,
+      "PathPrefix": ""
+    },
+    "RESOURCES": [],
+    "SOURCES": [
+      "PluginToolGenerateHash.py",
+      "ToolGenerateHash/__init__.py",
+      "__init__.py"
+    ],
+    "SPELLEXCLUDES": "",
+    "SPELLLANGUAGE": "en_US",
+    "SPELLWORDS": "",
+    "TRANSLATIONEXCEPTIONS": [],
+    "TRANSLATIONPATTERN": "ToolGenerateHash/i18n/generatehash_%language%.ts",
+    "TRANSLATIONS": [
+      "ToolGenerateHash/i18n/generatehash_de.qm",
+      "ToolGenerateHash/i18n/generatehash_de.ts",
+      "ToolGenerateHash/i18n/generatehash_en.qm",
+      "ToolGenerateHash/i18n/generatehash_en.ts",
+      "ToolGenerateHash/i18n/generatehash_es.qm",
+      "ToolGenerateHash/i18n/generatehash_es.ts",
+      "ToolGenerateHash/i18n/generatehash_ru.qm",
+      "ToolGenerateHash/i18n/generatehash_ru.ts"
+    ],
+    "TRANSLATIONSBINPATH": "",
+    "UICPARAMS": {
+      "Package": "",
+      "PackagesRoot": "",
+      "RcSuffix": ""
+    },
+    "VCS": "Mercurial",
+    "VCSOPTIONS": {
+      "add": [
+        ""
+      ],
+      "checkout": [
+        ""
+      ],
+      "commit": [
+        ""
+      ],
+      "diff": [
+        ""
+      ],
+      "export": [
+        ""
+      ],
+      "global": [
+        ""
+      ],
+      "history": [
+        ""
+      ],
+      "log": [
+        ""
+      ],
+      "remove": [
+        ""
+      ],
+      "status": [
+        ""
+      ],
+      "tag": [
+        ""
+      ],
+      "update": [
+        ""
+      ]
+    },
+    "VCSOTHERDATA": {},
+    "VERSION": "2.x"
+  }
+}
\ No newline at end of file
--- a/PluginToolGenerateHash.py	Wed Dec 30 11:02:13 2020 +0100
+++ b/PluginToolGenerateHash.py	Mon Apr 26 19:32:34 2021 +0200
@@ -7,6 +7,7 @@
 Module implementing the 'Generate Hash' tool plug-in.
 """
 
+import contextlib
 import os
 import hashlib
 
@@ -21,7 +22,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "3.1.0"
+version = "3.2.0"
 className = "ToolGenerateHashPlugin"
 packageName = "ToolGenerateHash"
 shortDescription = "Generate a hash for a selectable file or directory"
@@ -56,7 +57,7 @@
         
         @param ui reference to the user interface object (UI.UserInterface)
         """
-        QObject.__init__(self, ui)
+        super().__init__(ui)
         self.__ui = ui
         
         self.__translator = None
@@ -222,13 +223,11 @@
         
         @param editor reference to the editor (QScintilla.Editor)
         """
-        try:
+        with contextlib.suppress(KeyError):
             del self.__editors[editor]
             if not self.__editors:
                 self.__fileMenu.setEnabled(False)
                 self.__dirMenu.setEnabled(False)
-        except KeyError:
-            pass
     
     def __editorShowMenu(self, menuName, menu, editor):
         """
@@ -239,20 +238,22 @@
         @param menu reference to the menu (QMenu)
         @param editor reference to the editor
         """
-        if menuName == "Tools":
-            if self.__fileMenu.menuAction() not in menu.actions():
-                # Re-add our menu
-                self.__editors[editor] = []
-                if not menu.isEmpty():
-                    act = menu.addSeparator()
-                    self.__editors[editor].append(act)
-                act = menu.addMenu(self.__fileMenu)
+        if (
+            menuName == "Tools" and
+            self.__fileMenu.menuAction() not in menu.actions()
+        ):
+            # Re-add our menu
+            self.__editors[editor] = []
+            if not menu.isEmpty():
+                act = menu.addSeparator()
                 self.__editors[editor].append(act)
-                act = menu.addMenu(self.__dirMenu)
-                self.__editors[editor].append(act)
-                
-                self.__fileMenu.setEnabled(True)
-                self.__dirMenu.setEnabled(True)
+            act = menu.addMenu(self.__fileMenu)
+            self.__editors[editor].append(act)
+            act = menu.addMenu(self.__dirMenu)
+            self.__editors[editor].append(act)
+            
+            self.__fileMenu.setEnabled(True)
+            self.__dirMenu.setEnabled(True)
     
     def __insertHash(self, hashStr):
         """
Binary file PluginToolGenerateHash.zip has changed
--- a/ToolGenerateHash/Documentation/source/Plugin_Tools_GenerateHash.PluginToolGenerateHash.html	Wed Dec 30 11:02:13 2020 +0100
+++ b/ToolGenerateHash/Documentation/source/Plugin_Tools_GenerateHash.PluginToolGenerateHash.html	Mon Apr 26 19:32:34 2021 +0200
@@ -256,7 +256,7 @@
         Public method to activate this plugin.
 </p>
 <dl>
-<dt>Returns:</dt>
+<dt>Return:</dt>
 <dd>
 tuple of None and activation status (boolean)
 </dd>

eric ide

mercurial