PluginCxFreeze.py

changeset 127
a76379d552f2
parent 125
13f16f4e355a
child 130
c15aad5f55cf
equal deleted inserted replaced
126:0ead13538037 127:a76379d552f2
22 # Start-of-Header 22 # Start-of-Header
23 name = "CxFreeze Plugin" 23 name = "CxFreeze Plugin"
24 author = "Detlev Offenbach <detlev@die-offenbachs.de>" 24 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
25 autoactivate = True 25 autoactivate = True
26 deactivateable = True 26 deactivateable = True
27 version = "7.0.0" 27 version = "7.1.0"
28 className = "CxFreezePlugin" 28 className = "CxFreezePlugin"
29 packageName = "CxFreeze" 29 packageName = "CxFreeze"
30 shortDescription = "Show the CxFreeze dialogs." 30 shortDescription = "Show the CxFreeze dialogs."
31 longDescription = ( 31 longDescription = (
32 """This plugin implements the CxFreeze dialogs.""" 32 """This plugin implements the CxFreeze dialogs."""
176 176
177 # step 2: determine the Python variant 177 # step 2: determine the Python variant
178 _exePy3 = set() 178 _exePy3 = set()
179 versionArgs = ["-c", "import sys; print(sys.version_info[0])"] 179 versionArgs = ["-c", "import sys; print(sys.version_info[0])"]
180 for exe in exes: 180 for exe in exes:
181 try: 181 with open(exe, "r") as f:
182 f = open(exe, "r")
183 line0 = f.readline() 182 line0 = f.readline()
184 program = line0.replace("#!", "").strip() 183 program = line0.replace("#!", "").strip()
185 process = QProcess() 184 process = QProcess()
186 process.start(program, versionArgs) 185 process.start(program, versionArgs)
187 process.waitForFinished(5000) 186 process.waitForFinished(5000)
188 # get a QByteArray of the output 187 # get a QByteArray of the output
189 versionBytes = process.readAllStandardOutput() 188 versionBytes = process.readAllStandardOutput()
190 versionStr = str(versionBytes, encoding='utf-8').strip() 189 versionStr = str(versionBytes, encoding='utf-8').strip()
191 if versionStr == "3": 190 if versionStr == "3":
192 _exePy3.add(exe) 191 _exePy3.add(exe)
193 finally:
194 f.close()
195 192
196 executables = _exePy3 193 executables = _exePy3
197 194
198 # sort items, the probably newest topmost 195 # sort items, the probably newest topmost
199 executables = list(executables) 196 executables = list(executables)
371 return 368 return
372 369
373 from CxFreeze.CxfreezeConfigDialog import CxfreezeConfigDialog 370 from CxFreeze.CxfreezeConfigDialog import CxfreezeConfigDialog
374 parms = project.getData('PACKAGERSPARMS', "CXFREEZE") 371 parms = project.getData('PACKAGERSPARMS', "CXFREEZE")
375 dlg = CxfreezeConfigDialog(project, exe, parms) 372 dlg = CxfreezeConfigDialog(project, exe, parms)
376 if dlg.exec_() == QDialog.Accepted: 373 if dlg.exec() == QDialog.Accepted:
377 args, parms = dlg.generateParameters() 374 args, parms = dlg.generateParameters()
378 project.setData('PACKAGERSPARMS', "CXFREEZE", parms) 375 project.setData('PACKAGERSPARMS', "CXFREEZE", parms)
379 376
380 # now do the call 377 # now do the call
381 from CxFreeze.CxfreezeExecDialog import CxfreezeExecDialog 378 from CxFreeze.CxfreezeExecDialog import CxfreezeExecDialog
382 dia = CxfreezeExecDialog("cxfreeze") 379 dia = CxfreezeExecDialog("cxfreeze")
383 dia.show() 380 dia.show()
384 res = dia.start(args, parms, project.ppath, 381 res = dia.start(args, parms, project.ppath,
385 project.getMainScript()) 382 project.getMainScript())
386 if res: 383 if res:
387 dia.exec_() 384 dia.exec()
388 385
389 # 386 #
390 # eflag: noqa = M801 387 # eflag: noqa = M801

eric ide

mercurial