Added code to search the executable in virtual environment as well on Windows platforms. release-6.1.0

Mon, 04 May 2020 18:03:59 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 04 May 2020 18:03:59 +0200
changeset 123
dd6f7c9041a4
parent 122
69bc58558b6e
child 124
4e5ab3804362

Added code to search the executable in virtual environment as well on Windows platforms.

ChangeLog file | annotate | diff | comparison | revisions
CxFreeze/CxfreezeConfigDialog.py file | annotate | diff | comparison | revisions
CxFreeze/CxfreezeExecDialog.py file | annotate | diff | comparison | revisions
PluginCxFreeze.e4p file | annotate | diff | comparison | revisions
PluginCxFreeze.py file | annotate | diff | comparison | revisions
PluginCxFreeze.zip file | annotate | diff | comparison | revisions
--- a/ChangeLog	Wed Jan 01 11:58:55 2020 +0100
+++ b/ChangeLog	Mon May 04 18:03:59 2020 +0200
@@ -1,5 +1,9 @@
 ChangeLog
 ---------
+Version 6.1.0:
+- added code to search the executable in virtual environment as well on
+  Windows platforms
+
 Version 6.0.13:
 - bug fixes
 
--- a/CxFreeze/CxfreezeConfigDialog.py	Wed Jan 01 11:58:55 2020 +0100
+++ b/CxFreeze/CxfreezeConfigDialog.py	Mon May 04 18:03:59 2020 +0200
@@ -18,8 +18,10 @@
 import copy
 
 from PyQt5.QtCore import pyqtSlot, QDir, QProcess, QItemSelection
-from PyQt5.QtWidgets import QDialog, QListWidgetItem, QFileDialog, \
-    QPushButton, QTreeView, QLineEdit, QFileSystemModel
+from PyQt5.QtWidgets import (
+    QDialog, QListWidgetItem, QFileDialog, QPushButton, QTreeView, QLineEdit,
+    QFileSystemModel
+)
 
 from E5Gui import E5FileDialog
 from E5Gui.E5Completers import E5FileCompleter, E5DirCompleter
@@ -271,8 +273,10 @@
         
         # 2. the commandline options
         # 2.1 general options
-        if self.parameters['targetDirectory'] != \
-                self.defaults['targetDirectory']:
+        if (
+            self.parameters['targetDirectory'] !=
+            self.defaults['targetDirectory']
+        ):
             parms['targetDirectory'] = self.parameters['targetDirectory']
             args.append('--target-dir={0}'.format(
                 self.parameters['targetDirectory']))
@@ -288,8 +292,10 @@
             args.append('--init-script={0}'.format(
                 self.parameters['initScript']))
         parms['applicationIcon'] = self.parameters['applicationIcon'][:]
-        if self.parameters['applicationIcon'] != \
-                self.defaults['applicationIcon']:
+        if (
+            self.parameters['applicationIcon'] !=
+            self.defaults['applicationIcon']
+        ):
             args.append('--icon={0}'.format(
                 self.parameters['applicationIcon']))
         parms['script'] = self.parameters['script'][:]
@@ -319,13 +325,17 @@
             parms['replacePaths'] = self.parameters['replacePaths'][:]
             args.append('--replace-paths={0}'.format(
                         os.pathsep.join(self.parameters['replacePaths'])))
-        if self.parameters['includeModules'] != \
-                self.defaults['includeModules']:
+        if (
+            self.parameters['includeModules'] !=
+            self.defaults['includeModules']
+        ):
             parms['includeModules'] = self.parameters['includeModules'][:]
             args.append('--include-modules={0}'.format(
                         ','.join(self.parameters['includeModules'])))
-        if self.parameters['excludeModules'] != \
-                self.defaults['excludeModules']:
+        if (
+            self.parameters['excludeModules'] !=
+            self.defaults['excludeModules']
+        ):
             parms['excludeModules'] = self.parameters['excludeModules'][:]
             args.append('--exclude-modules={0}'.format(
                         ','.join(self.parameters['excludeModules'])))
@@ -589,16 +599,16 @@
             self.parameters['optimize'] = 2
         
         # get data of advanced tab
-        self.parameters['defaultPath'] = \
-            self.__splitIt(self.defaultPathEdit.text(), os.pathsep)
-        self.parameters['includePath'] = \
-            self.__splitIt(self.includePathEdit.text(), os.pathsep)
-        self.parameters['replacePaths'] = \
-            self.__splitIt(self.replacePathsEdit.text(), os.pathsep)
-        self.parameters['includeModules'] = \
-            self.__splitIt(self.includeModulesEdit.text(), ',')
-        self.parameters['excludeModules'] = \
-            self.__splitIt(self.excludeModulesEdit.text(), ',')
+        self.parameters['defaultPath'] = self.__splitIt(
+            self.defaultPathEdit.text(), os.pathsep)
+        self.parameters['includePath'] = self.__splitIt(
+            self.includePathEdit.text(), os.pathsep)
+        self.parameters['replacePaths'] = self.__splitIt(
+            self.replacePathsEdit.text(), os.pathsep)
+        self.parameters['includeModules'] = self.__splitIt(
+            self.includeModulesEdit.text(), ',')
+        self.parameters['excludeModules'] = self.__splitIt(
+            self.excludeModulesEdit.text(), ',')
         self.parameters['extListFile'] = self.extListFileEdit.text()
         
         # get data of the additional files tab
--- a/CxFreeze/CxfreezeExecDialog.py	Wed Jan 01 11:58:55 2020 +0100
+++ b/CxFreeze/CxfreezeExecDialog.py	Mon May 04 18:03:59 2020 +0200
@@ -313,8 +313,8 @@
                 try:
                     os.makedirs(dst)
                 except OSError as err:
-                    if err.errno != errno.EEXIST:   # it's ok if directory
-                                                    # already exists
+                    if err.errno != errno.EEXIST:
+                        # it's ok if directory already exists
                         raise err
             
             try:
--- a/PluginCxFreeze.e4p	Wed Jan 01 11:58:55 2020 +0100
+++ b/PluginCxFreeze.e4p	Mon May 04 18:03:59 2020 +0200
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE Project SYSTEM "Project-5.1.dtd">
 <!-- eric project file for project PluginCxFreeze -->
-<!-- Copyright (C) 2018 Detlev Offenbach, detlev@die-offenbachs.de -->
+<!-- Copyright (C) 2020 Detlev Offenbach, detlev@die-offenbachs.de -->
 <Project version="5.1">
   <Language>en</Language>
   <Hash>e6cc5d1be724a6f9b38cea1b3785946161f4baeb</Hash>
@@ -232,6 +232,34 @@
         <value>
           <dict>
             <key>
+              <string>AnnotationsChecker</string>
+            </key>
+            <value>
+              <dict>
+                <key>
+                  <string>MaximumComplexity</string>
+                </key>
+                <value>
+                  <int>3</int>
+                </value>
+                <key>
+                  <string>MinimumCoverage</string>
+                </key>
+                <value>
+                  <int>75</int>
+                </value>
+              </dict>
+            </value>
+            <key>
+              <string>BlankLines</string>
+            </key>
+            <value>
+              <tuple>
+                <int>2</int>
+                <int>1</int>
+              </tuple>
+            </value>
+            <key>
               <string>BuiltinsChecker</string>
             </key>
             <value>
@@ -263,6 +291,19 @@
               </dict>
             </value>
             <key>
+              <string>CommentedCodeChecker</string>
+            </key>
+            <value>
+              <dict>
+                <key>
+                  <string>Aggressive</string>
+                </key>
+                <value>
+                  <bool>False</bool>
+                </value>
+              </dict>
+            </value>
+            <key>
               <string>CopyrightAuthor</string>
             </key>
             <value>
@@ -290,7 +331,7 @@
               <string>ExcludeMessages</string>
             </key>
             <value>
-              <string>C101, E265, E266, E305, E402, M811, N802, N803, N807, N808, N821, W293, M201</string>
+              <string>A, C101, E265, E266, E305, E402, M201, M811, N802, N803, N807, N808, N821, W293, W504</string>
             </value>
             <key>
               <string>FixCodes</string>
@@ -341,6 +382,12 @@
               <int>10</int>
             </value>
             <key>
+              <string>MaxDocLineLength</string>
+            </key>
+            <value>
+              <int>79</int>
+            </value>
+            <key>
               <string>MaxLineLength</string>
             </key>
             <value>
--- a/PluginCxFreeze.py	Wed Jan 01 11:58:55 2020 +0100
+++ b/PluginCxFreeze.py	Mon May 04 18:03:59 2020 +0200
@@ -30,13 +30,14 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "6.0.13"
+version = "6.1.0"
 className = "CxFreezePlugin"
 packageName = "CxFreeze"
 shortDescription = "Show the CxFreeze dialogs."
-longDescription = \
-    """This plugin implements the CxFreeze dialogs.""" \
+longDescription = (
+    """This plugin implements the CxFreeze dialogs."""
     """ CxFreeze is used to generate a distribution package."""
+)
 needsRestart = False
 pyqtApi = 2
 python2Compatible = True
@@ -147,6 +148,18 @@
                         winreg.KEY_WOW64_64KEY | winreg.KEY_READ, versionStr)
                     if exePath is not None:
                         executables.add(exePath)
+        
+        if not executables and majorVersion >= 3:
+            # check the PATH environment variable if nothing was found
+            # Python 3 only
+            path = Utilities.getEnvironmentEntry('PATH')
+            if path:
+                dirs = path.split(os.pathsep)
+                for directory in dirs:
+                    for suffix in (".bat", ".exe"):
+                        exe = os.path.join(directory, "cxfreeze" + suffix)
+                        if os.access(exe, os.X_OK):
+                            executables.add(exe)
     else:
         #
         # Linux, Unix ...
@@ -328,8 +341,8 @@
         if self.__ui is not None:
             loc = self.__ui.getLocale()
             if loc and loc != "C":
-                locale_dir = \
-                    os.path.join(os.path.dirname(__file__), "CxFreeze", "i18n")
+                locale_dir = os.path.join(os.path.dirname(__file__),
+                                          "CxFreeze", "i18n")
                 translation = "cxfreeze_{0}".format(loc)
                 translator = QTranslator(None)
                 loaded = translator.load(translation, locale_dir)
@@ -358,8 +371,9 @@
             return
         
         majorVersionStr = project.getProjectLanguage()
-        exe = {"Python": exePy2, "Python2": exePy2, "Python3": exePy3}\
-            .get(majorVersionStr)
+        exe = {"Python": exePy2,
+               "Python2": exePy2,
+               "Python3": exePy3}.get(majorVersionStr)
         if exe == []:
             E5MessageBox.critical(
                 self.__ui,
Binary file PluginCxFreeze.zip has changed

eric ide

mercurial