Removed support for Python2. release-2.0.0

Tue, 23 Jun 2020 19:14:07 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 23 Jun 2020 19:14:07 +0200
changeset 28
3c8dbc198753
parent 27
25ff8953e335
child 29
4a2310cf9641

Removed support for Python2.

ChangeLog file | annotate | diff | comparison | revisions
PluginPyInstaller.e4p file | annotate | diff | comparison | revisions
PluginPyInstaller.py file | annotate | diff | comparison | revisions
PluginPyInstaller.zip file | annotate | diff | comparison | revisions
PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PluginPyInstaller.html file | annotate | diff | comparison | revisions
PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PyInstaller.PyInstallerCleanupDialog.html file | annotate | diff | comparison | revisions
PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PyInstaller.PyInstallerConfigDialog.html file | annotate | diff | comparison | revisions
PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PyInstaller.PyInstallerExecDialog.html file | annotate | diff | comparison | revisions
PyInstaller/Documentation/source/index-Plugin_Packager_PyInstaller.PyInstaller.html file | annotate | diff | comparison | revisions
PyInstaller/Documentation/source/index-Plugin_Packager_PyInstaller.html file | annotate | diff | comparison | revisions
PyInstaller/Documentation/source/index.html file | annotate | diff | comparison | revisions
PyInstaller/PyInstallerCleanupDialog.py file | annotate | diff | comparison | revisions
PyInstaller/PyInstallerConfigDialog.py file | annotate | diff | comparison | revisions
PyInstaller/PyInstallerExecDialog.py file | annotate | diff | comparison | revisions
PyInstaller/i18n/pyinstaller_de.qm file | annotate | diff | comparison | revisions
PyInstaller/i18n/pyinstaller_de.ts file | annotate | diff | comparison | revisions
PyInstaller/i18n/pyinstaller_empty.ts file | annotate | diff | comparison | revisions
PyInstaller/i18n/pyinstaller_en.qm file | annotate | diff | comparison | revisions
PyInstaller/i18n/pyinstaller_en.ts file | annotate | diff | comparison | revisions
PyInstaller/i18n/pyinstaller_es.ts file | annotate | diff | comparison | revisions
PyInstaller/i18n/pyinstaller_ru.ts file | annotate | diff | comparison | revisions
--- a/ChangeLog	Mon May 04 18:15:28 2020 +0200
+++ b/ChangeLog	Tue Jun 23 19:14:07 2020 +0200
@@ -1,5 +1,8 @@
 ChangeLog
 ---------
+Version 2.0.0:
+- removed support for Python2
+
 Version 1.1.0:
 - added code to search the executable in virtual environment as well on
   Windows platforms
--- a/PluginPyInstaller.e4p	Mon May 04 18:15:28 2020 +0200
+++ b/PluginPyInstaller.e4p	Tue Jun 23 19:14:07 2020 +0200
@@ -324,6 +324,12 @@
               <string>eric</string>
             </value>
             <key>
+              <string>EnabledCheckerCategories</string>
+            </key>
+            <value>
+              <string>C, D, E, M, N, S, W</string>
+            </value>
+            <key>
               <string>ExcludeFiles</string>
             </key>
             <value>
@@ -333,7 +339,7 @@
               <string>ExcludeMessages</string>
             </key>
             <value>
-              <string>A, C101, E265, E266, E305, E402, M201, M811, N802, N803, N807, N808, N821, W293, W504</string>
+              <string>C101,E265,E266,E305,E402,M201,M811,N802,N803,N807,N808,N821,W293,W504</string>
             </value>
             <key>
               <string>FixCodes</string>
@@ -351,7 +357,7 @@
               <string>FutureChecker</string>
             </key>
             <value>
-              <string>unicode_literals</string>
+              <string></string>
             </value>
             <key>
               <string>HangClosing</string>
@@ -408,6 +414,91 @@
               <bool>True</bool>
             </value>
             <key>
+              <string>SecurityChecker</string>
+            </key>
+            <value>
+              <dict>
+                <key>
+                  <string>CheckTypedException</string>
+                </key>
+                <value>
+                  <bool>False</bool>
+                </value>
+                <key>
+                  <string>HardcodedTmpDirectories</string>
+                </key>
+                <value>
+                  <list>
+                    <string>/tmp</string>
+                    <string>/var/tmp</string>
+                    <string>/dev/shm</string>
+                    <string>~/tmp</string>
+                  </list>
+                </value>
+                <key>
+                  <string>InsecureHashes</string>
+                </key>
+                <value>
+                  <list>
+                    <string>md4</string>
+                    <string>md5</string>
+                    <string>sha</string>
+                    <string>sha1</string>
+                  </list>
+                </value>
+                <key>
+                  <string>InsecureSslProtocolVersions</string>
+                </key>
+                <value>
+                  <list>
+                    <string>PROTOCOL_SSLv2</string>
+                    <string>SSLv2_METHOD</string>
+                    <string>SSLv23_METHOD</string>
+                    <string>PROTOCOL_SSLv3</string>
+                    <string>PROTOCOL_TLSv1</string>
+                    <string>SSLv3_METHOD</string>
+                    <string>TLSv1_METHOD</string>
+                  </list>
+                </value>
+                <key>
+                  <string>WeakKeySizeDsaHigh</string>
+                </key>
+                <value>
+                  <string>1024</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeDsaMedium</string>
+                </key>
+                <value>
+                  <string>2048</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeEcHigh</string>
+                </key>
+                <value>
+                  <string>160</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeEcMedium</string>
+                </key>
+                <value>
+                  <string>224</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeRsaHigh</string>
+                </key>
+                <value>
+                  <string>1024</string>
+                </value>
+                <key>
+                  <string>WeakKeySizeRsaMedium</string>
+                </key>
+                <value>
+                  <string>2048</string>
+                </value>
+              </dict>
+            </value>
+            <key>
               <string>ShowIgnored</string>
             </key>
             <value>
--- a/PluginPyInstaller.py	Mon May 04 18:15:28 2020 +0200
+++ b/PluginPyInstaller.py	Tue Jun 23 19:14:07 2020 +0200
@@ -7,12 +7,6 @@
 Module implementing the PyInstaller interface plug-in.
 """
 
-from __future__ import unicode_literals
-try:
-    str = unicode
-except NameError:
-    pass
-
 import os
 import platform
 import shutil
@@ -33,7 +27,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "1.1.0"
+version = "2.0.0"
 className = "PyInstallerPlugin"
 packageName = "PyInstaller"
 shortDescription = "Show dialogs to configure and execute PyInstaller."
@@ -44,12 +38,10 @@
 )
 needsRestart = False
 pyqtApi = 2
-python2Compatible = True
 # End-Of-Header
 
 error = ""
     
-exePy2 = []
 exePy3 = []
 
 
@@ -76,7 +68,7 @@
     }
     
     if _checkProgram():
-        for exePath in (exePy2 + exePy3):
+        for exePath in exePy3:
             data["exe"] = exePath
             data["versionStartsWith"] = ""
             dataList.append(data.copy())
@@ -196,7 +188,6 @@
                     exes.append(exe)
         
         # step 2: determine the Python variant
-        _exePy2 = set()
         _exePy3 = set()
         versionArgs = ["-c", "import sys; print(sys.version_info[0])"]
         for exe in exes:
@@ -212,12 +203,10 @@
                 versionStr = str(versionBytes, encoding='utf-8').strip()
                 if versionStr == "3":
                     _exePy3.add(exe)
-                elif versionStr == "2":
-                    _exePy2.add(exe)
             finally:
                 f.close()
         
-        executables = _exePy3 if majorVersion == 3 else _exePy2
+        executables = _exePy3
     
     # sort items, the probably newest topmost
     executables = list(executables)
@@ -231,11 +220,10 @@
     
     @return flag indicating availability (boolean)
     """
-    global error, exePy2, exePy3
+    global error, exePy3
     
-    exePy2 = _findExecutable(2)
     exePy3 = _findExecutable(3)
-    if (exePy2 + exePy3) == []:
+    if not exePy3:
         if Utilities.isWindowsPlatform():
             error = QCoreApplication.translate(
                 "PyInstallerPlugin",
@@ -387,8 +375,9 @@
         @type QMenu
         """
         if menuName == "Packagers":
-            enable = e5App().getObject("Project").getProjectLanguage() in [
-                "Python", "Python2", "Python3"]
+            enable = (
+                e5App().getObject("Project").getProjectLanguage() == "Python3"
+            )
             for act in self.__projectActs:
                 act.setEnabled(enable)
     
@@ -423,35 +412,37 @@
         if majorVersionStr == "Python3":
             executables = [f for f in exePy3 if
                            f.endswith(("pyinstaller", "pyinstaller.exe"))]
-        else:
-            executables = [f for f in exePy2 if
-                           f.endswith(("pyinstaller", "pyinstaller.exe"))]
-        if not executables:
-            E5MessageBox.critical(
-                self.__ui,
-                self.tr("pyinstaller"),
-                self.tr("""The pyinstaller executable could not be found."""))
-            return
-        
-        # check if all files saved and errorfree before continue
-        if not project.checkAllScriptsDirty(reportSyntaxErrors=True):
-            return
-        
-        from PyInstaller.PyInstallerConfigDialog import PyInstallerConfigDialog
-        params = project.getData('PACKAGERSPARMS', "PYINSTALLER")
-        dlg = PyInstallerConfigDialog(project, executables, params,
-                                      mode="installer")
-        if dlg.exec_() == QDialog.Accepted:
-            args, params, script = dlg.generateParameters()
-            project.setData('PACKAGERSPARMS', "PYINSTALLER", params)
+            if not executables:
+                E5MessageBox.critical(
+                    self.__ui,
+                    self.tr("pyinstaller"),
+                    self.tr("""The pyinstaller executable could not be"""
+                            """ found."""))
+                return
+            
+            # check if all files saved and errorfree before continue
+            if not project.checkAllScriptsDirty(reportSyntaxErrors=True):
+                return
             
-            # now do the call
-            from PyInstaller.PyInstallerExecDialog import PyInstallerExecDialog
-            dia = PyInstallerExecDialog("pyinstaller")
-            dia.show()
-            res = dia.start(args, params, project, script)
-            if res:
-                dia.exec_()
+            from PyInstaller.PyInstallerConfigDialog import (
+                PyInstallerConfigDialog
+            )
+            params = project.getData('PACKAGERSPARMS', "PYINSTALLER")
+            dlg = PyInstallerConfigDialog(project, executables, params,
+                                          mode="installer")
+            if dlg.exec_() == QDialog.Accepted:
+                args, params, script = dlg.generateParameters()
+                project.setData('PACKAGERSPARMS', "PYINSTALLER", params)
+                
+                # now do the call
+                from PyInstaller.PyInstallerExecDialog import (
+                    PyInstallerExecDialog
+                )
+                dia = PyInstallerExecDialog("pyinstaller")
+                dia.show()
+                res = dia.start(args, params, project, script)
+                if res:
+                    dia.exec_()
     
     @pyqtSlot()
     def __pyiMakeSpec(self):
@@ -464,35 +455,37 @@
         if majorVersionStr == "Python3":
             executables = [f for f in exePy3 if
                            f.endswith(("pyi-makespec", "pyi-makespec.exe"))]
-        else:
-            executables = [f for f in exePy2 if
-                           f.endswith(("pyi-makespec", "pyi-makespec.exe"))]
-        if not executables:
-            E5MessageBox.critical(
-                self.__ui,
-                self.tr("pyi-makespec"),
-                self.tr("""The pyi-makespec executable could not be found."""))
-            return
-        
-        # check if all files saved and errorfree before continue
-        if not project.checkAllScriptsDirty(reportSyntaxErrors=True):
-            return
-        
-        from PyInstaller.PyInstallerConfigDialog import PyInstallerConfigDialog
-        params = project.getData('PACKAGERSPARMS', "PYINSTALLER")
-        dlg = PyInstallerConfigDialog(project, executables, params,
-                                      mode="spec")
-        if dlg.exec_() == QDialog.Accepted:
-            args, params, script = dlg.generateParameters()
-            project.setData('PACKAGERSPARMS', "PYINSTALLER", params)
+            if not executables:
+                E5MessageBox.critical(
+                    self.__ui,
+                    self.tr("pyi-makespec"),
+                    self.tr("""The pyi-makespec executable could not be"""
+                            """ found."""))
+                return
+            
+            # check if all files saved and errorfree before continue
+            if not project.checkAllScriptsDirty(reportSyntaxErrors=True):
+                return
             
-            # now do the call
-            from PyInstaller.PyInstallerExecDialog import PyInstallerExecDialog
-            dia = PyInstallerExecDialog("pyinstaller")
-            dia.show()
-            res = dia.start(args, params, project, script)
-            if res:
-                dia.exec_()
+            from PyInstaller.PyInstallerConfigDialog import (
+                PyInstallerConfigDialog
+            )
+            params = project.getData('PACKAGERSPARMS', "PYINSTALLER")
+            dlg = PyInstallerConfigDialog(project, executables, params,
+                                          mode="spec")
+            if dlg.exec_() == QDialog.Accepted:
+                args, params, script = dlg.generateParameters()
+                project.setData('PACKAGERSPARMS', "PYINSTALLER", params)
+                
+                # now do the call
+                from PyInstaller.PyInstallerExecDialog import (
+                    PyInstallerExecDialog
+                )
+                dia = PyInstallerExecDialog("pyinstaller")
+                dia.show()
+                res = dia.start(args, params, project, script)
+                if res:
+                    dia.exec_()
     
     @pyqtSlot()
     def __pyinstallerCleanup(self):
Binary file PluginPyInstaller.zip has changed
--- a/PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PluginPyInstaller.html	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PluginPyInstaller.html	Tue Jun 23 19:14:07 2020 +0200
@@ -18,213 +18,276 @@
 
 </style>
 </head>
-<body><a NAME="top" ID="top"></a>
+<body>
+<a NAME="top" ID="top"></a>
 <h1>Plugin_Packager_PyInstaller.PluginPyInstaller</h1>
+
 <p>
 Module implementing the PyInstaller interface plug-in.
 </p>
 <h3>Global Attributes</h3>
+
 <table>
-<tr><td>author</td></tr><tr><td>autoactivate</td></tr><tr><td>className</td></tr><tr><td>deactivateable</td></tr><tr><td>error</td></tr><tr><td>exePy2</td></tr><tr><td>exePy3</td></tr><tr><td>longDescription</td></tr><tr><td>name</td></tr><tr><td>needsRestart</td></tr><tr><td>packageName</td></tr><tr><td>pyqtApi</td></tr><tr><td>python2Compatible</td></tr><tr><td>shortDescription</td></tr><tr><td>version</td></tr>
+<tr><td>author</td></tr><tr><td>autoactivate</td></tr><tr><td>className</td></tr><tr><td>deactivateable</td></tr><tr><td>error</td></tr><tr><td>exePy3</td></tr><tr><td>longDescription</td></tr><tr><td>name</td></tr><tr><td>needsRestart</td></tr><tr><td>packageName</td></tr><tr><td>pyqtApi</td></tr><tr><td>shortDescription</td></tr><tr><td>version</td></tr>
 </table>
 <h3>Classes</h3>
+
 <table>
+
 <tr>
 <td><a href="#PyInstallerPlugin">PyInstallerPlugin</a></td>
 <td>Class implementing the PyInstaller interface plug-in.</td>
 </tr>
 </table>
 <h3>Functions</h3>
+
 <table>
+
 <tr>
 <td><a href="#_checkProgram">_checkProgram</a></td>
 <td>Restricted function to check the availability of pyinstaller.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#_findExecutable">_findExecutable</a></td>
 <td>Restricted function to determine the names of the executables.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#exeDisplayDataList">exeDisplayDataList</a></td>
 <td>Module function to support the display of some executable info.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#getExePath">getExePath</a></td>
 <td></td>
 </tr>
 </table>
-<hr /><hr />
+<hr />
+<hr />
 <a NAME="PyInstallerPlugin" ID="PyInstallerPlugin"></a>
 <h2>PyInstallerPlugin</h2>
+
 <p>
     Class implementing the PyInstaller interface plug-in.
 </p>
 <h3>Derived from</h3>
 QObject
 <h3>Class Attributes</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Class Methods</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Methods</h3>
+
 <table>
+
 <tr>
 <td><a href="#PyInstallerPlugin.__init__">PyInstallerPlugin</a></td>
 <td>Constructor</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerPlugin.__initialize">__initialize</a></td>
 <td>Private slot to (re)initialize the plug-in.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerPlugin.__loadTranslator">__loadTranslator</a></td>
 <td>Private method to load the translation file.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerPlugin.__projectShowMenu">__projectShowMenu</a></td>
 <td>Private slot called, when the the project menu or a submenu is about to be shown.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerPlugin.__pyiMakeSpec">__pyiMakeSpec</a></td>
 <td>Private slot to execute the pyi-makespec command for the current project to generate a spec file to be used by pyinstaller.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerPlugin.__pyinstaller">__pyinstaller</a></td>
 <td>Private slot to execute the pyinstaller command for the current project.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerPlugin.__pyinstallerCleanup">__pyinstallerCleanup</a></td>
 <td>Private slot to remove the directories created by pyinstaller.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerPlugin.activate">activate</a></td>
 <td>Public method to activate this plug-in.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerPlugin.deactivate">deactivate</a></td>
 <td>Public method to deactivate this plug-in.</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
+
 <a NAME="PyInstallerPlugin.__init__" ID="PyInstallerPlugin.__init__"></a>
 <h4>PyInstallerPlugin (Constructor)</h4>
 <b>PyInstallerPlugin</b>(<i>ui</i>)
+
 <p>
         Constructor
-</p><dl>
+</p>
+<dl>
+
 <dt><i>ui</i> (UI.UserInterface)</dt>
 <dd>
 reference to the user interface object
 </dd>
-</dl><a NAME="PyInstallerPlugin.__initialize" ID="PyInstallerPlugin.__initialize"></a>
+</dl>
+<a NAME="PyInstallerPlugin.__initialize" ID="PyInstallerPlugin.__initialize"></a>
 <h4>PyInstallerPlugin.__initialize</h4>
 <b>__initialize</b>(<i></i>)
+
 <p>
         Private slot to (re)initialize the plug-in.
-</p><a NAME="PyInstallerPlugin.__loadTranslator" ID="PyInstallerPlugin.__loadTranslator"></a>
+</p>
+<a NAME="PyInstallerPlugin.__loadTranslator" ID="PyInstallerPlugin.__loadTranslator"></a>
 <h4>PyInstallerPlugin.__loadTranslator</h4>
 <b>__loadTranslator</b>(<i></i>)
+
 <p>
         Private method to load the translation file.
-</p><a NAME="PyInstallerPlugin.__projectShowMenu" ID="PyInstallerPlugin.__projectShowMenu"></a>
+</p>
+<a NAME="PyInstallerPlugin.__projectShowMenu" ID="PyInstallerPlugin.__projectShowMenu"></a>
 <h4>PyInstallerPlugin.__projectShowMenu</h4>
 <b>__projectShowMenu</b>(<i>menuName, menu</i>)
+
 <p>
         Private slot called, when the the project menu or a submenu is
         about to be shown.
-</p><dl>
+</p>
+<dl>
+
 <dt><i>menuName</i> (str)</dt>
 <dd>
 name of the menu to be shown
-</dd><dt><i>menu</i> (QMenu)</dt>
+</dd>
+<dt><i>menu</i> (QMenu)</dt>
 <dd>
 reference to the menu
 </dd>
-</dl><a NAME="PyInstallerPlugin.__pyiMakeSpec" ID="PyInstallerPlugin.__pyiMakeSpec"></a>
+</dl>
+<a NAME="PyInstallerPlugin.__pyiMakeSpec" ID="PyInstallerPlugin.__pyiMakeSpec"></a>
 <h4>PyInstallerPlugin.__pyiMakeSpec</h4>
 <b>__pyiMakeSpec</b>(<i></i>)
+
 <p>
         Private slot to execute the pyi-makespec command for the current
         project to generate a spec file to be used by pyinstaller.
-</p><a NAME="PyInstallerPlugin.__pyinstaller" ID="PyInstallerPlugin.__pyinstaller"></a>
+</p>
+<a NAME="PyInstallerPlugin.__pyinstaller" ID="PyInstallerPlugin.__pyinstaller"></a>
 <h4>PyInstallerPlugin.__pyinstaller</h4>
 <b>__pyinstaller</b>(<i></i>)
+
 <p>
         Private slot to execute the pyinstaller command for the current
         project.
-</p><a NAME="PyInstallerPlugin.__pyinstallerCleanup" ID="PyInstallerPlugin.__pyinstallerCleanup"></a>
+</p>
+<a NAME="PyInstallerPlugin.__pyinstallerCleanup" ID="PyInstallerPlugin.__pyinstallerCleanup"></a>
 <h4>PyInstallerPlugin.__pyinstallerCleanup</h4>
 <b>__pyinstallerCleanup</b>(<i></i>)
+
 <p>
         Private slot to remove the directories created by pyinstaller.
-</p><a NAME="PyInstallerPlugin.activate" ID="PyInstallerPlugin.activate"></a>
+</p>
+<a NAME="PyInstallerPlugin.activate" ID="PyInstallerPlugin.activate"></a>
 <h4>PyInstallerPlugin.activate</h4>
 <b>activate</b>(<i></i>)
+
 <p>
         Public method to activate this plug-in.
-</p><dl>
+</p>
+<dl>
 <dt>Returns:</dt>
 <dd>
 tuple of None and activation status (boolean)
 </dd>
-</dl><a NAME="PyInstallerPlugin.deactivate" ID="PyInstallerPlugin.deactivate"></a>
+</dl>
+<a NAME="PyInstallerPlugin.deactivate" ID="PyInstallerPlugin.deactivate"></a>
 <h4>PyInstallerPlugin.deactivate</h4>
 <b>deactivate</b>(<i></i>)
+
 <p>
         Public method to deactivate this plug-in.
 </p>
 <div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
+<hr />
+<hr />
 <a NAME="_checkProgram" ID="_checkProgram"></a>
 <h2>_checkProgram</h2>
 <b>_checkProgram</b>(<i></i>)
+
 <p>
     Restricted function to check the availability of pyinstaller.
-</p><dl>
+</p>
+<dl>
 <dt>Returns:</dt>
 <dd>
 flag indicating availability (boolean)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
+<hr />
+<hr />
 <a NAME="_findExecutable" ID="_findExecutable"></a>
 <h2>_findExecutable</h2>
 <b>_findExecutable</b>(<i>majorVersion</i>)
+
 <p>
     Restricted function to determine the names of the executables.
-</p><dl>
+</p>
+<dl>
+
 <dt><i>majorVersion</i> (int)</dt>
 <dd>
 major python version
 </dd>
-</dl><dl>
+</dl>
+<dl>
 <dt>Returns:</dt>
 <dd>
 names of the executables
 </dd>
-</dl><dl>
+</dl>
+<dl>
 <dt>Return Type:</dt>
 <dd>
 list of str
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
+<hr />
+<hr />
 <a NAME="exeDisplayDataList" ID="exeDisplayDataList"></a>
 <h2>exeDisplayDataList</h2>
 <b>exeDisplayDataList</b>(<i></i>)
+
 <p>
     Module function to support the display of some executable info.
-</p><dl>
+</p>
+<dl>
 <dt>Returns:</dt>
 <dd>
 list of dictionaries containing the data to query the presence of
         the executable
 </dd>
-</dl><dl>
+</dl>
+<dl>
 <dt>Return Type:</dt>
 <dd>
 list of dict
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
-<hr /><hr />
+<hr />
+<hr />
 <a NAME="getExePath" ID="getExePath"></a>
 <h2>getExePath</h2>
 <b>getExePath</b>(<i>branch, access, versionStr</i>)
--- a/PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PyInstaller.PyInstallerCleanupDialog.html	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PyInstaller.PyInstallerCleanupDialog.html	Tue Jun 23 19:14:07 2020 +0200
@@ -18,77 +18,99 @@
 
 </style>
 </head>
-<body><a NAME="top" ID="top"></a>
+<body>
+<a NAME="top" ID="top"></a>
 <h1>Plugin_Packager_PyInstaller.PyInstaller.PyInstallerCleanupDialog</h1>
+
 <p>
 Module implementing a dialog to select the cleanup action.
 </p>
 <h3>Global Attributes</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Classes</h3>
+
 <table>
+
 <tr>
 <td><a href="#PyInstallerCleanupDialog">PyInstallerCleanupDialog</a></td>
 <td>Class implementing a dialog to select the cleanup action.</td>
 </tr>
 </table>
 <h3>Functions</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
-<hr /><hr />
+<hr />
+<hr />
 <a NAME="PyInstallerCleanupDialog" ID="PyInstallerCleanupDialog"></a>
 <h2>PyInstallerCleanupDialog</h2>
+
 <p>
     Class implementing a dialog to select the cleanup action.
 </p>
 <h3>Derived from</h3>
 QDialog, Ui_PyInstallerCleanupDialog
 <h3>Class Attributes</h3>
+
 <table>
 <tr><td>BuildPath</td></tr><tr><td>DistPath</td></tr>
 </table>
 <h3>Class Methods</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Methods</h3>
+
 <table>
+
 <tr>
 <td><a href="#PyInstallerCleanupDialog.__init__">PyInstallerCleanupDialog</a></td>
 <td>Constructor</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerCleanupDialog.getDirectories">getDirectories</a></td>
 <td>Public method to get the project relative directories to be cleaned.</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
+
 <a NAME="PyInstallerCleanupDialog.__init__" ID="PyInstallerCleanupDialog.__init__"></a>
 <h4>PyInstallerCleanupDialog (Constructor)</h4>
 <b>PyInstallerCleanupDialog</b>(<i>parent=None</i>)
+
 <p>
         Constructor
-</p><dl>
+</p>
+<dl>
+
 <dt><i>parent</i> (QWidget)</dt>
 <dd>
 reference to the parent widget
 </dd>
-</dl><a NAME="PyInstallerCleanupDialog.getDirectories" ID="PyInstallerCleanupDialog.getDirectories"></a>
+</dl>
+<a NAME="PyInstallerCleanupDialog.getDirectories" ID="PyInstallerCleanupDialog.getDirectories"></a>
 <h4>PyInstallerCleanupDialog.getDirectories</h4>
 <b>getDirectories</b>(<i></i>)
+
 <p>
         Public method to get the project relative directories to be cleaned.
-</p><dl>
+</p>
+<dl>
 <dt>Returns:</dt>
 <dd>
 list of directories to be removed
 </dd>
-</dl><dl>
+</dl>
+<dl>
 <dt>Return Type:</dt>
 <dd>
 list of str
--- a/PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PyInstaller.PyInstallerConfigDialog.html	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PyInstaller.PyInstallerConfigDialog.html	Tue Jun 23 19:14:07 2020 +0200
@@ -18,29 +18,37 @@
 
 </style>
 </head>
-<body><a NAME="top" ID="top"></a>
+<body>
+<a NAME="top" ID="top"></a>
 <h1>Plugin_Packager_PyInstaller.PyInstaller.PyInstallerConfigDialog</h1>
+
 <p>
 Module implementing PyInstallerConfigDialog.
 </p>
 <h3>Global Attributes</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Classes</h3>
+
 <table>
+
 <tr>
 <td><a href="#PyInstallerConfigDialog">PyInstallerConfigDialog</a></td>
 <td>Class implementing a dialog to enter the parameters for pyinstaller and pyi-makespec.</td>
 </tr>
 </table>
 <h3>Functions</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
-<hr /><hr />
+<hr />
+<hr />
 <a NAME="PyInstallerConfigDialog" ID="PyInstallerConfigDialog"></a>
 <h2>PyInstallerConfigDialog</h2>
+
 <p>
     Class implementing a dialog to enter the parameters for pyinstaller
     and pyi-makespec.
@@ -48,146 +56,196 @@
 <h3>Derived from</h3>
 QDialog, Ui_PyInstallerConfigDialog
 <h3>Class Attributes</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Class Methods</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Methods</h3>
+
 <table>
+
 <tr>
 <td><a href="#PyInstallerConfigDialog.__init__">PyInstallerConfigDialog</a></td>
 <td>Constructor</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerConfigDialog.__initializeDefaults">__initializeDefaults</a></td>
 <td>Private method to set the default values.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerConfigDialog.__updateOkButton">__updateOkButton</a></td>
 <td>Private method to update the enabled state of the OK button.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerConfigDialog.accept">accept</a></td>
 <td>Public method called by the Ok button.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerConfigDialog.generateParameters">generateParameters</a></td>
 <td>Public method that generates the command line parameters.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerConfigDialog.on_iconFilePicker_textChanged">on_iconFilePicker_textChanged</a></td>
 <td>Private slot to handle changes of the icon file.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerConfigDialog.on_iconIdEdit_textChanged">on_iconIdEdit_textChanged</a></td>
 <td>Private slot to handle changes of the icon ID.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerConfigDialog.on_inputFilePicker_textChanged">on_inputFilePicker_textChanged</a></td>
 <td>Private slot to handle changes of the input file.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerConfigDialog.on_selectedScriptButton_toggled">on_selectedScriptButton_toggled</a></td>
 <td>Private slot to handle changes of the radio button state.</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
+
 <a NAME="PyInstallerConfigDialog.__init__" ID="PyInstallerConfigDialog.__init__"></a>
 <h4>PyInstallerConfigDialog (Constructor)</h4>
 <b>PyInstallerConfigDialog</b>(<i>project, executables, params=None, mode="installer", parent=None</i>)
+
 <p>
         Constructor
-</p><dl>
+</p>
+<dl>
+
 <dt><i>project</i> (Project.Project)</dt>
 <dd>
 reference to the project object
-</dd><dt><i>executables</i> (list of str)</dt>
+</dd>
+<dt><i>executables</i> (list of str)</dt>
 <dd>
 names of the pyinstaller executables
-</dd><dt><i>params</i> (dict)</dt>
+</dd>
+<dt><i>params</i> (dict)</dt>
 <dd>
 parameters to set in the dialog
-</dd><dt><i>mode</i> (str (one of 'installer' or 'spec'))</dt>
+</dd>
+<dt><i>mode</i> (str (one of 'installer' or 'spec'))</dt>
 <dd>
 mode of the dialog
-</dd><dt><i>parent</i> (QWidget)</dt>
+</dd>
+<dt><i>parent</i> (QWidget)</dt>
 <dd>
 reference to the parent widget
 </dd>
-</dl><a NAME="PyInstallerConfigDialog.__initializeDefaults" ID="PyInstallerConfigDialog.__initializeDefaults"></a>
+</dl>
+<a NAME="PyInstallerConfigDialog.__initializeDefaults" ID="PyInstallerConfigDialog.__initializeDefaults"></a>
 <h4>PyInstallerConfigDialog.__initializeDefaults</h4>
 <b>__initializeDefaults</b>(<i></i>)
+
 <p>
         Private method to set the default values.
-</p><p>
+</p>
+<p>
         These are needed later on to generate the command line parameters.
-</p><a NAME="PyInstallerConfigDialog.__updateOkButton" ID="PyInstallerConfigDialog.__updateOkButton"></a>
+</p>
+<a NAME="PyInstallerConfigDialog.__updateOkButton" ID="PyInstallerConfigDialog.__updateOkButton"></a>
 <h4>PyInstallerConfigDialog.__updateOkButton</h4>
 <b>__updateOkButton</b>(<i></i>)
+
 <p>
         Private method to update the enabled state of the OK button.
-</p><a NAME="PyInstallerConfigDialog.accept" ID="PyInstallerConfigDialog.accept"></a>
+</p>
+<a NAME="PyInstallerConfigDialog.accept" ID="PyInstallerConfigDialog.accept"></a>
 <h4>PyInstallerConfigDialog.accept</h4>
 <b>accept</b>(<i></i>)
+
 <p>
         Public method called by the Ok button.
-</p><p>
+</p>
+<p>
         It saves the values in the parameters dictionary.
-</p><a NAME="PyInstallerConfigDialog.generateParameters" ID="PyInstallerConfigDialog.generateParameters"></a>
+</p>
+<a NAME="PyInstallerConfigDialog.generateParameters" ID="PyInstallerConfigDialog.generateParameters"></a>
 <h4>PyInstallerConfigDialog.generateParameters</h4>
 <b>generateParameters</b>(<i></i>)
+
 <p>
         Public method that generates the command line parameters.
-</p><p>
+</p>
+<p>
         It generates a list of strings to be used to set the QProcess arguments
         for the pyinstaller/pyi-makespec call and a list containing the non
         default parameters. The second list can be passed back upon object
         generation to overwrite the default settings.
-</p><dl>
+</p>
+<dl>
 <dt>Returns:</dt>
 <dd>
 a tuple of the command line parameters, non default parameters
             and the script path
 </dd>
-</dl><dl>
+</dl>
+<dl>
 <dt>Return Type:</dt>
 <dd>
 tuple of (list of str, dict, str)
 </dd>
-</dl><a NAME="PyInstallerConfigDialog.on_iconFilePicker_textChanged" ID="PyInstallerConfigDialog.on_iconFilePicker_textChanged"></a>
+</dl>
+<a NAME="PyInstallerConfigDialog.on_iconFilePicker_textChanged" ID="PyInstallerConfigDialog.on_iconFilePicker_textChanged"></a>
 <h4>PyInstallerConfigDialog.on_iconFilePicker_textChanged</h4>
 <b>on_iconFilePicker_textChanged</b>(<i>txt</i>)
+
 <p>
         Private slot to handle changes of the icon file.
-</p><dl>
+</p>
+<dl>
+
 <dt><i>txt</i> (str)</dt>
 <dd>
 text of the file edit
 </dd>
-</dl><a NAME="PyInstallerConfigDialog.on_iconIdEdit_textChanged" ID="PyInstallerConfigDialog.on_iconIdEdit_textChanged"></a>
+</dl>
+<a NAME="PyInstallerConfigDialog.on_iconIdEdit_textChanged" ID="PyInstallerConfigDialog.on_iconIdEdit_textChanged"></a>
 <h4>PyInstallerConfigDialog.on_iconIdEdit_textChanged</h4>
 <b>on_iconIdEdit_textChanged</b>(<i>txt</i>)
+
 <p>
         Private slot to handle changes of the icon ID.
-</p><dl>
+</p>
+<dl>
+
 <dt><i>txt</i> (str)</dt>
 <dd>
 iconID
 </dd>
-</dl><a NAME="PyInstallerConfigDialog.on_inputFilePicker_textChanged" ID="PyInstallerConfigDialog.on_inputFilePicker_textChanged"></a>
+</dl>
+<a NAME="PyInstallerConfigDialog.on_inputFilePicker_textChanged" ID="PyInstallerConfigDialog.on_inputFilePicker_textChanged"></a>
 <h4>PyInstallerConfigDialog.on_inputFilePicker_textChanged</h4>
 <b>on_inputFilePicker_textChanged</b>(<i>txt</i>)
+
 <p>
         Private slot to handle changes of the input file.
-</p><dl>
+</p>
+<dl>
+
 <dt><i>txt</i> (str)</dt>
 <dd>
 text of the file edit
 </dd>
-</dl><a NAME="PyInstallerConfigDialog.on_selectedScriptButton_toggled" ID="PyInstallerConfigDialog.on_selectedScriptButton_toggled"></a>
+</dl>
+<a NAME="PyInstallerConfigDialog.on_selectedScriptButton_toggled" ID="PyInstallerConfigDialog.on_selectedScriptButton_toggled"></a>
 <h4>PyInstallerConfigDialog.on_selectedScriptButton_toggled</h4>
 <b>on_selectedScriptButton_toggled</b>(<i>checked</i>)
+
 <p>
         Private slot to handle changes of the radio button state.
-</p><dl>
+</p>
+<dl>
+
 <dt><i>checked</i> (bool)</dt>
 <dd>
 state of the radio button
--- a/PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PyInstaller.PyInstallerExecDialog.html	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/Documentation/source/Plugin_Packager_PyInstaller.PyInstaller.PyInstallerExecDialog.html	Tue Jun 23 19:14:07 2020 +0200
@@ -18,168 +18,222 @@
 
 </style>
 </head>
-<body><a NAME="top" ID="top"></a>
+<body>
+<a NAME="top" ID="top"></a>
 <h1>Plugin_Packager_PyInstaller.PyInstaller.PyInstallerExecDialog</h1>
+
 <p>
 Module implementing a dialog to show the output of the pyinstaller/pyi-makespec
 process.
 </p>
 <h3>Global Attributes</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Classes</h3>
+
 <table>
+
 <tr>
 <td><a href="#PyInstallerExecDialog">PyInstallerExecDialog</a></td>
 <td>Class implementing a dialog to show the output of the pyinstaller/pyi-makespec process.</td>
 </tr>
 </table>
 <h3>Functions</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
-<hr /><hr />
+<hr />
+<hr />
 <a NAME="PyInstallerExecDialog" ID="PyInstallerExecDialog"></a>
 <h2>PyInstallerExecDialog</h2>
+
 <p>
     Class implementing a dialog to show the output of the
     pyinstaller/pyi-makespec process.
-</p><p>
+</p>
+<p>
     This class starts a QProcess and displays a dialog that
     shows the output of the packager command process.
 </p>
 <h3>Derived from</h3>
 QDialog, Ui_PyInstallerExecDialog
 <h3>Class Attributes</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Class Methods</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
 <h3>Methods</h3>
+
 <table>
+
 <tr>
 <td><a href="#PyInstallerExecDialog.__init__">PyInstallerExecDialog</a></td>
 <td>Constructor</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerExecDialog.__enableButtons">__enableButtons</a></td>
 <td>Private slot called when all processes finished.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerExecDialog.__finish">__finish</a></td>
 <td>Private slot called when the process was canceled by the user.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerExecDialog.__finishedProcess">__finishedProcess</a></td>
 <td>Private slot called when the process finished.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerExecDialog.__readStderr">__readStderr</a></td>
 <td>Private slot to handle the readyReadStandardError signal.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerExecDialog.__readStdout">__readStdout</a></td>
 <td>Private slot to handle the readyReadStandardOutput signal.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerExecDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="#PyInstallerExecDialog.start">start</a></td>
 <td>Public slot to start the packager command.</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
+
 <table>
 <tr><td>None</td></tr>
 </table>
+
 <a NAME="PyInstallerExecDialog.__init__" ID="PyInstallerExecDialog.__init__"></a>
 <h4>PyInstallerExecDialog (Constructor)</h4>
 <b>PyInstallerExecDialog</b>(<i>cmdname, parent=None</i>)
+
 <p>
         Constructor
-</p><dl>
+</p>
+<dl>
+
 <dt><i>cmdname</i> (str)</dt>
 <dd>
 name of the packager
-</dd><dt><i>parent</i> (QWidget)</dt>
+</dd>
+<dt><i>parent</i> (QWidget)</dt>
 <dd>
 reference to the parent widget
 </dd>
-</dl><a NAME="PyInstallerExecDialog.__enableButtons" ID="PyInstallerExecDialog.__enableButtons"></a>
+</dl>
+<a NAME="PyInstallerExecDialog.__enableButtons" ID="PyInstallerExecDialog.__enableButtons"></a>
 <h4>PyInstallerExecDialog.__enableButtons</h4>
 <b>__enableButtons</b>(<i></i>)
+
 <p>
         Private slot called when all processes finished.
-</p><p>
+</p>
+<p>
         It is called when the process finished or
         the user pressed the cancel button.
-</p><a NAME="PyInstallerExecDialog.__finish" ID="PyInstallerExecDialog.__finish"></a>
+</p>
+<a NAME="PyInstallerExecDialog.__finish" ID="PyInstallerExecDialog.__finish"></a>
 <h4>PyInstallerExecDialog.__finish</h4>
 <b>__finish</b>(<i></i>)
+
 <p>
         Private slot called when the process was canceled by the user.
-</p><p>
+</p>
+<p>
         It is called when the process finished or
         the user pressed the cancel button.
-</p><a NAME="PyInstallerExecDialog.__finishedProcess" ID="PyInstallerExecDialog.__finishedProcess"></a>
+</p>
+<a NAME="PyInstallerExecDialog.__finishedProcess" ID="PyInstallerExecDialog.__finishedProcess"></a>
 <h4>PyInstallerExecDialog.__finishedProcess</h4>
 <b>__finishedProcess</b>(<i></i>)
+
 <p>
         Private slot called when the process finished.
-</p><p>
+</p>
+<p>
         It is called when the process finished or
         the user pressed the cancel button.
-</p><a NAME="PyInstallerExecDialog.__readStderr" ID="PyInstallerExecDialog.__readStderr"></a>
+</p>
+<a NAME="PyInstallerExecDialog.__readStderr" ID="PyInstallerExecDialog.__readStderr"></a>
 <h4>PyInstallerExecDialog.__readStderr</h4>
 <b>__readStderr</b>(<i></i>)
+
 <p>
         Private slot to handle the readyReadStandardError signal.
-</p><p>
+</p>
+<p>
         It reads the error output of the process and inserts it into the
         error pane.
-</p><a NAME="PyInstallerExecDialog.__readStdout" ID="PyInstallerExecDialog.__readStdout"></a>
+</p>
+<a NAME="PyInstallerExecDialog.__readStdout" ID="PyInstallerExecDialog.__readStdout"></a>
 <h4>PyInstallerExecDialog.__readStdout</h4>
 <b>__readStdout</b>(<i></i>)
+
 <p>
         Private slot to handle the readyReadStandardOutput signal.
-</p><p>
+</p>
+<p>
         It reads the output of the process, formats it and inserts it into
         the contents pane.
-</p><a NAME="PyInstallerExecDialog.on_buttonBox_clicked" ID="PyInstallerExecDialog.on_buttonBox_clicked"></a>
+</p>
+<a NAME="PyInstallerExecDialog.on_buttonBox_clicked" ID="PyInstallerExecDialog.on_buttonBox_clicked"></a>
 <h4>PyInstallerExecDialog.on_buttonBox_clicked</h4>
 <b>on_buttonBox_clicked</b>(<i>button</i>)
+
 <p>
         Private slot called by a button of the button box clicked.
-</p><dl>
+</p>
+<dl>
+
 <dt><i>button</i> (QAbstractButton)</dt>
 <dd>
 button that was clicked
 </dd>
-</dl><a NAME="PyInstallerExecDialog.start" ID="PyInstallerExecDialog.start"></a>
+</dl>
+<a NAME="PyInstallerExecDialog.start" ID="PyInstallerExecDialog.start"></a>
 <h4>PyInstallerExecDialog.start</h4>
 <b>start</b>(<i>args, parms, project, script</i>)
+
 <p>
         Public slot to start the packager command.
-</p><dl>
+</p>
+<dl>
+
 <dt><i>args</i> (list of str)</dt>
 <dd>
 command line arguments for packager program
-</dd><dt><i>parms</i> (dict)</dt>
+</dd>
+<dt><i>parms</i> (dict)</dt>
 <dd>
 parameters got from the config dialog
-</dd><dt><i>project</i> (Project)</dt>
+</dd>
+<dt><i>project</i> (Project)</dt>
 <dd>
 reference to the project object
-</dd><dt><i>script</i> (str)</dt>
+</dd>
+<dt><i>script</i> (str)</dt>
 <dd>
 script or spec file name to be processed by by the
             packager
 </dd>
-</dl><dl>
+</dl>
+<dl>
 <dt>Returns:</dt>
 <dd>
 flag indicating the successful start of the process
 </dd>
-</dl><dl>
+</dl>
+<dl>
 <dt>Return Type:</dt>
 <dd>
 bool
--- a/PyInstaller/Documentation/source/index-Plugin_Packager_PyInstaller.PyInstaller.html	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/Documentation/source/index-Plugin_Packager_PyInstaller.PyInstaller.html	Tue Jun 23 19:14:07 2020 +0200
@@ -20,6 +20,7 @@
 </head>
 <body>
 <h1>Plugin_Packager_PyInstaller.PyInstaller</h1>
+
 <p>
 Package containing dialogs of the PyInstaller interface plug-in.
 </p>
@@ -27,13 +28,16 @@
 
 <h3>Modules</h3>
 <table>
+
 <tr>
 <td><a href="Plugin_Packager_PyInstaller.PyInstaller.PyInstallerCleanupDialog.html">PyInstallerCleanupDialog</a></td>
 <td>Module implementing a dialog to select the cleanup action.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="Plugin_Packager_PyInstaller.PyInstaller.PyInstallerConfigDialog.html">PyInstallerConfigDialog</a></td>
 <td>Module implementing PyInstallerConfigDialog.</td>
-</tr><tr>
+</tr>
+<tr>
 <td><a href="Plugin_Packager_PyInstaller.PyInstaller.PyInstallerExecDialog.html">PyInstallerExecDialog</a></td>
 <td>Module implementing a dialog to show the output of the pyinstaller/pyi-makespec process.</td>
 </tr>
--- a/PyInstaller/Documentation/source/index-Plugin_Packager_PyInstaller.html	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/Documentation/source/index-Plugin_Packager_PyInstaller.html	Tue Jun 23 19:14:07 2020 +0200
@@ -20,12 +20,14 @@
 </head>
 <body>
 <h1>Plugin_Packager_PyInstaller</h1>
+
 <p>
 Package containing the PyInstaller interface plug-in.
 </p>
 
 <h3>Packages</h3>
 <table>
+
 <tr>
 <td><a href="index-Plugin_Packager_PyInstaller.PyInstaller.html">PyInstaller</a></td>
 <td>Package containing dialogs of the PyInstaller interface plug-in.</td>
@@ -34,6 +36,7 @@
 
 <h3>Modules</h3>
 <table>
+
 <tr>
 <td><a href="Plugin_Packager_PyInstaller.PluginPyInstaller.html">PluginPyInstaller</a></td>
 <td>Module implementing the PyInstaller interface plug-in.</td>
--- a/PyInstaller/Documentation/source/index.html	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/Documentation/source/index.html	Tue Jun 23 19:14:07 2020 +0200
@@ -24,6 +24,7 @@
 
 <h3>Packages</h3>
 <table>
+
 <tr>
 <td><a href="index-Plugin_Packager_PyInstaller.html">Plugin_Packager_PyInstaller</a></td>
 <td>Package containing the PyInstaller interface plug-in.</td>
--- a/PyInstaller/PyInstallerCleanupDialog.py	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/PyInstallerCleanupDialog.py	Tue Jun 23 19:14:07 2020 +0200
@@ -7,8 +7,6 @@
 Module implementing a dialog to select the cleanup action.
 """
 
-from __future__ import unicode_literals
-
 from PyQt5.QtWidgets import QDialog
 
 from .Ui_PyInstallerCleanupDialog import Ui_PyInstallerCleanupDialog
--- a/PyInstaller/PyInstallerConfigDialog.py	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/PyInstallerConfigDialog.py	Tue Jun 23 19:14:07 2020 +0200
@@ -7,8 +7,6 @@
 Module implementing PyInstallerConfigDialog.
 """
 
-from __future__ import unicode_literals
-
 import copy
 
 from PyQt5.QtCore import pyqtSlot
@@ -42,8 +40,6 @@
         @param parent reference to the parent widget
         @type QWidget
         """
-        assert mode in ("installer", "spec")
-        
         super(PyInstallerConfigDialog, self).__init__(parent)
         self.setupUi(self)
         
@@ -55,15 +51,15 @@
             self.__project.getProjectPath())
         if self.__mode == "installer":
             self.inputFilePicker.setFilters(self.tr(
-                "Python Files (*.py *.py2 *.py3);;"
-                "Python GUI Files (*.pyw *.pyw2 *.pyw3);;"
+                "Python Files (*.py *.py3);;"
+                "Python GUI Files (*.pyw *.pyw3);;"
                 "Spec Files (*.spec);;"
                 "All Files (*)"
             ))
         elif self.__mode == "spec":
             self.inputFilePicker.setFilters(self.tr(
-                "Python Files (*.py *.py2 *.py3);;"
-                "Python GUI Files (*.pyw *.pyw2 *.pyw3);;"
+                "Python Files (*.py *.py3);;"
+                "Python GUI Files (*.pyw *.pyw3);;"
                 "All Files (*)"
             ))
         
--- a/PyInstaller/PyInstallerExecDialog.py	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/PyInstallerExecDialog.py	Tue Jun 23 19:14:07 2020 +0200
@@ -8,12 +8,6 @@
 process.
 """
 
-from __future__ import unicode_literals
-try:
-    str = unicode
-except NameError:
-    pass
-
 import os
 
 from PyQt5.QtCore import pyqtSlot, QProcess, QTimer
Binary file PyInstaller/i18n/pyinstaller_de.qm has changed
--- a/PyInstaller/i18n/pyinstaller_de.ts	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/i18n/pyinstaller_de.ts	Tue Jun 23 19:14:07 2020 +0200
@@ -171,25 +171,25 @@
         <translation>Gib die macOS App Bundle Identifikation ein</translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="57"/>
-        <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
-        <translation>Python Dateien (*.py *.py2 *.py3);;Python GUI Dateien (*.pyw *.pyw2 *.pyw3);;Spec Dateien (*.spec);;Alle Dateien (*)</translation>
-    </message>
-    <message>
-        <location filename="../PyInstallerConfigDialog.py" line="64"/>
-        <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;All Files (*)</source>
-        <translation>Python Dateien (*.py *.py2 *.py3);;Python GUI Dateien (*.pyw *.pyw2 *.pyw3);;Alle Dateien (*)</translation>
-    </message>
-    <message>
-        <location filename="../PyInstallerConfigDialog.py" line="81"/>
+        <location filename="../PyInstallerConfigDialog.py" line="77"/>
         <source>Icon Files (*.icns);;All Files (*)</source>
         <translation>Icon Dateien (*.icns);;Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="86"/>
+        <location filename="../PyInstallerConfigDialog.py" line="82"/>
         <source>Icon Files (*.ico);;Executable Files (*.exe);;All Files (*)</source>
         <translation>Icon Dateien (*.ico);;Programm Dateien (*.exe);;Alle Dateien (*)</translation>
     </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="53"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
+        <translation>Python Dateien (*.py *.py3);;Python GUI Dateien (*.pyw *.pyw3);;Spec Dateien (*.spec);;Alle Dateien (*)</translation>
+    </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="60"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;All Files (*)</source>
+        <translation>Python Dateien (*.py *.py3);;Python GUI Dateien (*.pyw *.pyw3);;Alle Dateien (*)</translation>
+    </message>
 </context>
 <context>
     <name>PyInstallerExecDialog</name>
@@ -211,22 +211,22 @@
 &lt;p&gt;Dies zeigt die Ausgaben des Paketierer Prozesses.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="90"/>
+        <location filename="../PyInstallerExecDialog.py" line="84"/>
         <source>{0} - {1}</source>
         <translation>{0} - {1}</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>Process Generation Error</source>
         <translation>Fehler beim Prozessstart</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Der Prozess {0} konnte nicht gestartet werden. Stellen Sie sicher, dass er sich im Suchpfad befindet.</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="136"/>
+        <location filename="../PyInstallerExecDialog.py" line="130"/>
         <source>
 {0} aborted.
 </source>
@@ -235,7 +235,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="155"/>
+        <location filename="../PyInstallerExecDialog.py" line="149"/>
         <source>
 {0} finished.
 </source>
@@ -247,12 +247,12 @@
 <context>
     <name>PyInstallerPlugin</name>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="67"/>
+        <location filename="../../PluginPyInstaller.py" line="59"/>
         <source>Packagers - PyInstaller</source>
         <translation>Paketierer - PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="229"/>
+        <location filename="../../PluginPyInstaller.py" line="228"/>
         <source>The pyinstaller.exe executable could not be found.</source>
         <translation>Das Programm pyinstaller.exe konnte nicht gefunden werden.</translation>
     </message>
@@ -262,62 +262,62 @@
         <translation>Das Programm pyinstaller konnte nicht gefunden werden.</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="293"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute PyInstaller</source>
         <translation>PyInstaller ausführen</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="293"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute Py&amp;Installer</source>
         <translation>Py&amp;Installer ausführen</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="297"/>
+        <location filename="../../PluginPyInstaller.py" line="298"/>
         <source>Generate a distribution package using PyInstaller</source>
         <translation>Erzeuge ein Distributionspaket mit PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="299"/>
+        <location filename="../../PluginPyInstaller.py" line="300"/>
         <source>&lt;b&gt;Execute PyInstaller&lt;/b&gt;&lt;p&gt;Generate a distribution package using PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation>&lt;b&gt;PyInstaller ausführen&lt;/b&gt;&lt;p&gt;Erzeuge ein Distributionspaket mit PyInstaller. Der Befehl wird im Projektverzeichnis ausgeführt. Alle Dateien und Verzeichnisse müssen als absolute Pfade oder als Pfade relativ zum Projektverzeichnis angegeben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="311"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller Spec File</source>
         <translation>PyInstaller Spec-Datei erzeugen</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="311"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller &amp;Spec File</source>
         <translation>PyInstaller &amp;Spec-Datei erzeugen</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="315"/>
+        <location filename="../../PluginPyInstaller.py" line="316"/>
         <source>Generate a spec file to be used by PyInstaller</source>
         <translation>Erzeuge eine Spec-Datei zur Verwendung mit PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="317"/>
+        <location filename="../../PluginPyInstaller.py" line="318"/>
         <source>&lt;b&gt;Make PyInstaller Spec File&lt;/b&gt;&lt;p&gt;Generate a spec file to be used by PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation>&lt;b&gt;PyInstaller Spec-Datei erzeugen&lt;/b&gt;&lt;p&gt;Erzeuge eine Spec-Datei zur Verwendung mit PyInstaller. Der Befehl wird im Projektverzeichnis ausgeführt. Alle Dateien und Verzeichnisse müssen als absolute Pfade oder als Pfade relativ zum Projektverzeichnis angegeben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="329"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>Clean PyInstaller</source>
         <translation>PyInstaller Aufräumen</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="329"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>&amp;Clean PyInstaller</source>
         <translation>PyInstaller &amp;Aufräumen</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="333"/>
+        <location filename="../../PluginPyInstaller.py" line="334"/>
         <source>Remove the PyInstaller created directories</source>
         <translation>Lösche die von PyInstaller erzeugten Verzeichnisse</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="335"/>
+        <location filename="../../PluginPyInstaller.py" line="336"/>
         <source>&lt;b&gt;Clean PyInstaller&lt;/b&gt;&lt;p&gt;Remove the PyInstaller created directories (dist and build). These are subdirectories within the project path.&lt;/p&gt;</source>
         <translation>&lt;b&gt;PyInstaller Aufräumen&lt;/b&gt;&lt;p&gt;Lösche die von PyInstaller erzeugten Verzeichnisse (dist und build). Diese Verzeichnisse befinden sich unter dem Projektverzeichnis.&lt;/p&gt;</translation>
     </message>
@@ -327,12 +327,12 @@
         <translation>pyinstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="457"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>pyi-makespec</source>
         <translation>pyi-makespec</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="457"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>The pyi-makespec executable could not be found.</source>
         <translation>Das Programm pyi-makespec konnte nicht gefunden werden.</translation>
     </message>
--- a/PyInstaller/i18n/pyinstaller_empty.ts	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/i18n/pyinstaller_empty.ts	Tue Jun 23 19:14:07 2020 +0200
@@ -171,25 +171,25 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="57"/>
-        <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyInstallerConfigDialog.py" line="64"/>
-        <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyInstallerConfigDialog.py" line="81"/>
+        <location filename="../PyInstallerConfigDialog.py" line="77"/>
         <source>Icon Files (*.icns);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="86"/>
+        <location filename="../PyInstallerConfigDialog.py" line="82"/>
         <source>Icon Files (*.ico);;Executable Files (*.exe);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="53"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="60"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PyInstallerExecDialog</name>
@@ -210,29 +210,29 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="90"/>
+        <location filename="../PyInstallerExecDialog.py" line="84"/>
         <source>{0} - {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>Process Generation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="136"/>
+        <location filename="../PyInstallerExecDialog.py" line="130"/>
         <source>
 {0} aborted.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="155"/>
+        <location filename="../PyInstallerExecDialog.py" line="149"/>
         <source>
 {0} finished.
 </source>
@@ -242,12 +242,12 @@
 <context>
     <name>PyInstallerPlugin</name>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="67"/>
+        <location filename="../../PluginPyInstaller.py" line="59"/>
         <source>Packagers - PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="229"/>
+        <location filename="../../PluginPyInstaller.py" line="228"/>
         <source>The pyinstaller.exe executable could not be found.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -257,62 +257,62 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="293"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="293"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute Py&amp;Installer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="297"/>
+        <location filename="../../PluginPyInstaller.py" line="298"/>
         <source>Generate a distribution package using PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="299"/>
+        <location filename="../../PluginPyInstaller.py" line="300"/>
         <source>&lt;b&gt;Execute PyInstaller&lt;/b&gt;&lt;p&gt;Generate a distribution package using PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="311"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller Spec File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="311"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller &amp;Spec File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="315"/>
+        <location filename="../../PluginPyInstaller.py" line="316"/>
         <source>Generate a spec file to be used by PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="317"/>
+        <location filename="../../PluginPyInstaller.py" line="318"/>
         <source>&lt;b&gt;Make PyInstaller Spec File&lt;/b&gt;&lt;p&gt;Generate a spec file to be used by PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="329"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>Clean PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="329"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>&amp;Clean PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="333"/>
+        <location filename="../../PluginPyInstaller.py" line="334"/>
         <source>Remove the PyInstaller created directories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="335"/>
+        <location filename="../../PluginPyInstaller.py" line="336"/>
         <source>&lt;b&gt;Clean PyInstaller&lt;/b&gt;&lt;p&gt;Remove the PyInstaller created directories (dist and build). These are subdirectories within the project path.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -322,12 +322,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="457"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>pyi-makespec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="457"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>The pyi-makespec executable could not be found.</source>
         <translation type="unfinished"></translation>
     </message>
Binary file PyInstaller/i18n/pyinstaller_en.qm has changed
--- a/PyInstaller/i18n/pyinstaller_en.ts	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/i18n/pyinstaller_en.ts	Tue Jun 23 19:14:07 2020 +0200
@@ -171,25 +171,25 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="57"/>
-        <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyInstallerConfigDialog.py" line="64"/>
-        <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyInstallerConfigDialog.py" line="81"/>
+        <location filename="../PyInstallerConfigDialog.py" line="77"/>
         <source>Icon Files (*.icns);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="86"/>
+        <location filename="../PyInstallerConfigDialog.py" line="82"/>
         <source>Icon Files (*.ico);;Executable Files (*.exe);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="53"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="60"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PyInstallerExecDialog</name>
@@ -210,29 +210,29 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="90"/>
+        <location filename="../PyInstallerExecDialog.py" line="84"/>
         <source>{0} - {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>Process Generation Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="136"/>
+        <location filename="../PyInstallerExecDialog.py" line="130"/>
         <source>
 {0} aborted.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="155"/>
+        <location filename="../PyInstallerExecDialog.py" line="149"/>
         <source>
 {0} finished.
 </source>
@@ -242,12 +242,12 @@
 <context>
     <name>PyInstallerPlugin</name>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="67"/>
+        <location filename="../../PluginPyInstaller.py" line="59"/>
         <source>Packagers - PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="229"/>
+        <location filename="../../PluginPyInstaller.py" line="228"/>
         <source>The pyinstaller.exe executable could not be found.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -257,62 +257,62 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="293"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="293"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute Py&amp;Installer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="297"/>
+        <location filename="../../PluginPyInstaller.py" line="298"/>
         <source>Generate a distribution package using PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="299"/>
+        <location filename="../../PluginPyInstaller.py" line="300"/>
         <source>&lt;b&gt;Execute PyInstaller&lt;/b&gt;&lt;p&gt;Generate a distribution package using PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="311"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller Spec File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="311"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller &amp;Spec File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="315"/>
+        <location filename="../../PluginPyInstaller.py" line="316"/>
         <source>Generate a spec file to be used by PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="317"/>
+        <location filename="../../PluginPyInstaller.py" line="318"/>
         <source>&lt;b&gt;Make PyInstaller Spec File&lt;/b&gt;&lt;p&gt;Generate a spec file to be used by PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="329"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>Clean PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="329"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>&amp;Clean PyInstaller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="333"/>
+        <location filename="../../PluginPyInstaller.py" line="334"/>
         <source>Remove the PyInstaller created directories</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="335"/>
+        <location filename="../../PluginPyInstaller.py" line="336"/>
         <source>&lt;b&gt;Clean PyInstaller&lt;/b&gt;&lt;p&gt;Remove the PyInstaller created directories (dist and build). These are subdirectories within the project path.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -322,12 +322,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="457"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>pyi-makespec</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="457"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>The pyi-makespec executable could not be found.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/PyInstaller/i18n/pyinstaller_es.ts	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/i18n/pyinstaller_es.ts	Tue Jun 23 19:14:07 2020 +0200
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="es_ES">
+<!DOCTYPE TS><TS version="2.0" language="es_ES" sourcelanguage="">
 <context>
     <name>PyInstallerCleanupDialog</name>
     <message>
@@ -174,23 +173,33 @@
     <message>
         <location filename="../PyInstallerConfigDialog.py" line="57"/>
         <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
-        <translation>Archivos Python (*.py *.py2 *.py3);;Archivos de Python GUI (*.pyw *.pyw2 *.pyw3);;Archivos Spec (*.spec);;Todos los Archivos (*)</translation>
+        <translation type="obsolete">Archivos Python (*.py *.py2 *.py3);;Archivos de Python GUI (*.pyw *.pyw2 *.pyw3);;Archivos Spec (*.spec);;Todos los Archivos (*)</translation>
     </message>
     <message>
         <location filename="../PyInstallerConfigDialog.py" line="64"/>
         <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;All Files (*)</source>
-        <translation>Archivos Python (*.py *.py2 *.py3);;Archivos de Python GUI (*.pyw *.pyw2 *.pyw3);;Todos los Archivos (*)</translation>
+        <translation type="obsolete">Archivos Python (*.py *.py2 *.py3);;Archivos de Python GUI (*.pyw *.pyw2 *.pyw3);;Todos los Archivos (*)</translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="81"/>
+        <location filename="../PyInstallerConfigDialog.py" line="77"/>
         <source>Icon Files (*.icns);;All Files (*)</source>
         <translation>Archivos de Icono (*.icns);;Todos los Archivos (*)</translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="86"/>
+        <location filename="../PyInstallerConfigDialog.py" line="82"/>
         <source>Icon Files (*.ico);;Executable Files (*.exe);;All Files (*)</source>
         <translation>Archivos de Icono (*.ico);;Archivos Ejecutables (*.exe);;Todos los Archivos (*)</translation>
     </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="53"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="60"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PyInstallerExecDialog</name>
@@ -212,22 +221,22 @@
 &lt;p&gt;Muestra la salida del comando de packager.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="90"/>
+        <location filename="../PyInstallerExecDialog.py" line="84"/>
         <source>{0} - {1}</source>
         <translation>{0} - {1}</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>Process Generation Error</source>
         <translation>Error de Generación de Proceso</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>El proceso {0} no se ha podido iniciar. Asegúrese de que está en la ruta de búsqueda.</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="136"/>
+        <location filename="../PyInstallerExecDialog.py" line="130"/>
         <source>
 {0} aborted.
 </source>
@@ -236,7 +245,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="155"/>
+        <location filename="../PyInstallerExecDialog.py" line="149"/>
         <source>
 {0} finished.
 </source>
@@ -248,12 +257,12 @@
 <context>
     <name>PyInstallerPlugin</name>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="67"/>
+        <location filename="../../PluginPyInstaller.py" line="59"/>
         <source>Packagers - PyInstaller</source>
         <translation>Packagers - PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="229"/>
+        <location filename="../../PluginPyInstaller.py" line="228"/>
         <source>The pyinstaller.exe executable could not be found.</source>
         <translation>No se ha encontrado el ejecutable pyinstaller.exe.</translation>
     </message>
@@ -263,62 +272,62 @@
         <translation>No se ha encontrado el ejecutable pyinstaller.</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="293"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute PyInstaller</source>
         <translation>Ejecutar PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="293"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute Py&amp;Installer</source>
         <translation>Ejecutar Py&amp;Installer</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="297"/>
+        <location filename="../../PluginPyInstaller.py" line="298"/>
         <source>Generate a distribution package using PyInstaller</source>
         <translation>Generar un package de distribución utilizando PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="299"/>
+        <location filename="../../PluginPyInstaller.py" line="300"/>
         <source>&lt;b&gt;Execute PyInstaller&lt;/b&gt;&lt;p&gt;Generate a distribution package using PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ejecutar PyInstaller&lt;/b&gt;&lt;p&gt;Generar un package de  distribución usando PyInstaller. El comando se ejecuta desde la ruta del proyecto. Todos los archivos y directorios se deben proporcionar como una ruta absoluta o relativa al directorio del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="311"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller Spec File</source>
         <translation>Hacer Archivo Spec de PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="311"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller &amp;Spec File</source>
         <translation>Hacer Archivo &amp;Spec de PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="315"/>
+        <location filename="../../PluginPyInstaller.py" line="316"/>
         <source>Generate a spec file to be used by PyInstaller</source>
         <translation>Generar un archivo spec a utilizar por parte de PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="317"/>
+        <location filename="../../PluginPyInstaller.py" line="318"/>
         <source>&lt;b&gt;Make PyInstaller Spec File&lt;/b&gt;&lt;p&gt;Generate a spec file to be used by PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Hacer Archivo Spec de PyInstaller&lt;/b&gt;&lt;p&gt;Generar un archivo spec a utilizar por PyInstaller. El comando se ejecuta en la ruta del proyecto. Todos los archivos y directorios se deben proporcionar como una ruta absoluta o relativa al directorio del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="329"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>Clean PyInstaller</source>
         <translation>Limpiar PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="329"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>&amp;Clean PyInstaller</source>
         <translation>&amp;Limpiar PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="333"/>
+        <location filename="../../PluginPyInstaller.py" line="334"/>
         <source>Remove the PyInstaller created directories</source>
         <translation>Eliminar los directorios creados por PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="335"/>
+        <location filename="../../PluginPyInstaller.py" line="336"/>
         <source>&lt;b&gt;Clean PyInstaller&lt;/b&gt;&lt;p&gt;Remove the PyInstaller created directories (dist and build). These are subdirectories within the project path.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Limpiar PyInstaller&lt;/b&gt;&lt;p&gt;Eliminar los directorios creados por PyInstaller (dist and build). Se trata de subdirectorios dentro de la ruta del proyecto.&lt;/p&gt;</translation>
     </message>
@@ -328,12 +337,12 @@
         <translation>pyinstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="457"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>pyi-makespec</source>
         <translation>pyi-makespec</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="457"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>The pyi-makespec executable could not be found.</source>
         <translation>No se ha encontrado el ejecutable pyi-makespec.</translation>
     </message>
--- a/PyInstaller/i18n/pyinstaller_ru.ts	Mon May 04 18:15:28 2020 +0200
+++ b/PyInstaller/i18n/pyinstaller_ru.ts	Tue Jun 23 19:14:07 2020 +0200
@@ -173,23 +173,33 @@
     <message>
         <location filename="../PyInstallerConfigDialog.py" line="57"/>
         <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
-        <translation>Файлы Python (*.py *.py2 *.py3);;Файлы Python GUI (*.pyw *.pyw2 *.pyw3);;Spec Files (*.spec);;Все файлы (*)</translation>
+        <translation type="obsolete">Файлы Python (*.py *.py2 *.py3);;Файлы Python GUI (*.pyw *.pyw2 *.pyw3);;Spec Files (*.spec);;Все файлы (*)</translation>
     </message>
     <message>
         <location filename="../PyInstallerConfigDialog.py" line="64"/>
         <source>Python Files (*.py *.py2 *.py3);;Python GUI Files (*.pyw *.pyw2 *.pyw3);;All Files (*)</source>
-        <translation>Файлы Python (*.py *.py2 *.py3);;Файлы Python GUI (*.pyw *.pyw2 *.pyw3);;Все файлы (*)</translation>
+        <translation type="obsolete">Файлы Python (*.py *.py2 *.py3);;Файлы Python GUI (*.pyw *.pyw2 *.pyw3);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="81"/>
+        <location filename="../PyInstallerConfigDialog.py" line="77"/>
         <source>Icon Files (*.icns);;All Files (*)</source>
         <translation>Файлы иконок (*.icns);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../PyInstallerConfigDialog.py" line="86"/>
+        <location filename="../PyInstallerConfigDialog.py" line="82"/>
         <source>Icon Files (*.ico);;Executable Files (*.exe);;All Files (*)</source>
         <translation>Файлы иконок (*.ico);;Исполняемые файлы (*.exe);;Все файлы (*)</translation>
     </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="53"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;Spec Files (*.spec);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PyInstallerConfigDialog.py" line="60"/>
+        <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PyInstallerExecDialog</name>
@@ -211,22 +221,22 @@
 &lt;p&gt;Отображение вывода команд упаковщика.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="90"/>
+        <location filename="../PyInstallerExecDialog.py" line="84"/>
         <source>{0} - {1}</source>
         <translation>{0} - {1}</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>Process Generation Error</source>
         <translation>Ошибка в процессе создания</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="100"/>
+        <location filename="../PyInstallerExecDialog.py" line="94"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation>Невозможно запустить процесс {0}. Убедитесь, что он находится в путях поиска.</translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="136"/>
+        <location filename="../PyInstallerExecDialog.py" line="130"/>
         <source>
 {0} aborted.
 </source>
@@ -235,7 +245,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../PyInstallerExecDialog.py" line="155"/>
+        <location filename="../PyInstallerExecDialog.py" line="149"/>
         <source>
 {0} finished.
 </source>
@@ -247,92 +257,92 @@
 <context>
     <name>PyInstallerPlugin</name>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="67"/>
+        <location filename="../../PluginPyInstaller.py" line="59"/>
         <source>Packagers - PyInstaller</source>
         <translation>Упаковщик - PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="229"/>
+        <location filename="../../PluginPyInstaller.py" line="228"/>
         <source>The pyinstaller.exe executable could not be found.</source>
         <translation>Невозможно найти исполняемый файл pyinstaller.exe.</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="421"/>
+        <location filename="../../PluginPyInstaller.py" line="416"/>
         <source>The pyinstaller executable could not be found.</source>
         <translation>Невозможно найти исполняемый файл pyinstaller.</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="296"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute PyInstaller</source>
         <translation>Выполнить PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="296"/>
+        <location filename="../../PluginPyInstaller.py" line="294"/>
         <source>Execute Py&amp;Installer</source>
         <translation>Выполнить Py&amp;Installer</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="300"/>
+        <location filename="../../PluginPyInstaller.py" line="298"/>
         <source>Generate a distribution package using PyInstaller</source>
         <translation>Создать дистрибутивный пакет с помощью PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="302"/>
+        <location filename="../../PluginPyInstaller.py" line="300"/>
         <source>&lt;b&gt;Execute PyInstaller&lt;/b&gt;&lt;p&gt;Generate a distribution package using PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Выполнить PyInstaller&lt;/b&gt;&lt;p&gt;Создание дистрибутивного пакета посредством PyInstaller. Команда выполняется в путях проекта. Все файлы и директории должны быть указаны абсолютно или относительно директории проекта.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="314"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller Spec File</source>
         <translation>Создать файл спецификации PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="314"/>
+        <location filename="../../PluginPyInstaller.py" line="312"/>
         <source>Make PyInstaller &amp;Spec File</source>
         <translation>Создать файл &amp;спецификации PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="318"/>
+        <location filename="../../PluginPyInstaller.py" line="316"/>
         <source>Generate a spec file to be used by PyInstaller</source>
         <translation>Создать файл спецификации, который будет использован PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="320"/>
+        <location filename="../../PluginPyInstaller.py" line="318"/>
         <source>&lt;b&gt;Make PyInstaller Spec File&lt;/b&gt;&lt;p&gt;Generate a spec file to be used by PyInstaller. The command is executed in the project path. All files and directories must be given as absolute paths or as paths relative to the project path.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Создать файл спецификации PyInstaller&lt;/b&gt;&lt;p&gt;Создание файла спецификации посредством PyInstaller. Команда выполняется в путях проекта. Все файлы и директории должны быть указаны абсолютно или относительно директории проекта.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="332"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>Clean PyInstaller</source>
         <translation>Очистить PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="332"/>
+        <location filename="../../PluginPyInstaller.py" line="330"/>
         <source>&amp;Clean PyInstaller</source>
         <translation>&amp;Очистить PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="336"/>
+        <location filename="../../PluginPyInstaller.py" line="334"/>
         <source>Remove the PyInstaller created directories</source>
         <translation>Удалить директории, созданные PyInstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="338"/>
+        <location filename="../../PluginPyInstaller.py" line="336"/>
         <source>&lt;b&gt;Clean PyInstaller&lt;/b&gt;&lt;p&gt;Remove the PyInstaller created directories (dist and build). These are subdirectories within the project path.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Очистить PyInstaller&lt;/b&gt;&lt;p&gt;Удаление директорий (dist и build), созданных PyInstaller. Эти поддиректории находятся в путях проекта.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="421"/>
+        <location filename="../../PluginPyInstaller.py" line="416"/>
         <source>pyinstaller</source>
         <translation>pyinstaller</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="462"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>pyi-makespec</source>
         <translation>pyi-makespec</translation>
     </message>
     <message>
-        <location filename="../../PluginPyInstaller.py" line="462"/>
+        <location filename="../../PluginPyInstaller.py" line="459"/>
         <source>The pyi-makespec executable could not be found.</source>
         <translation>Невозможно найти исполняемый файл pyi-makespec.</translation>
     </message>

eric ide

mercurial