Preferences/ProgramsDialog.py

changeset 157
c8d5916b9934
parent 97
c4086afea02b
child 308
f25c7e8802b8
--- a/Preferences/ProgramsDialog.py	Fri Mar 26 15:57:07 2010 +0000
+++ b/Preferences/ProgramsDialog.py	Sun Mar 28 09:27:19 2010 +0000
@@ -226,7 +226,10 @@
             else:
                 exe = Utilities.getExecutablePath(exe)
             if exe:
-                if versionCommand and versionStartsWith and versionPosition:
+                if versionCommand and \
+                   (versionStartsWith != "" or \
+                    (versionRe is not None and versionRe != "")) and \
+                   versionPosition:
                     proc = QProcess()
                     proc.setProcessChannelMode(QProcess.MergedChannels)
                     proc.start(exe, [versionCommand])
@@ -241,10 +244,14 @@
                         versionRe = re.compile(versionRe, re.UNICODE)
                         for line in output.splitlines():
                             if versionRe.search(line):
-                                version = line.split()[versionPosition]
-                                if versionCleanup:
-                                    version = version[versionCleanup[0]:versionCleanup[1]]
-                                break
+                                try:
+                                    version = line.split()[versionPosition]
+                                    if versionCleanup:
+                                        version = \
+                                            version[versionCleanup[0]:versionCleanup[1]]
+                                    break
+                                except IndexError:
+                                    version = self.trUtf8("(unknown)")
                     else:
                         version = self.trUtf8("(not executable)")
                 QTreeWidgetItem(itm, [exe, version])

eric ide

mercurial