Commit 51608348 authored by Andreas Tille's avatar Andreas Tille
Browse files

Another chunk of manual 2to3 re-runs

parent 7606ba5f
Loading
Loading
Loading
Loading
+495 −0
Original line number Diff line number Diff line
@@ -820,3 +820,498 @@ Last-Update: Tue, 10 Sep 2019 20:29:13 +0200
 
 
 def main():
--- a/Cain.py
+++ b/Cain.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/python3
 
 """The script that launches Cain."""
 
@@ -32,15 +32,15 @@ def main():
         errors.append('Consult the documentation available at http://cain.sourceforge.net/.')
         hasTk = True
         try:
-            import Tkinter
+            import tkinter
         except:
             hasTk = False
         if hasTk:
-            import tkMessageBox
-            root = Tkinter.Tk()
+            import tkinter.messagebox
+            root = tkinter.Tk()
             #Tkinter.Label(root, text='\n'.join(errors)).pack()
             #root.title('Error')
-            tkMessageBox.showwarning('Error', '\n'.join(errors))
+            tkinter.messagebox.showwarning('Error', '\n'.join(errors))
             root.mainloop()
         else:
             print('\n'.join(errors))
@@ -49,7 +49,7 @@ def main():
     # Launch the application.
     from gui.Application import Application
     if len(sys.argv) > 2:
-        print "Warning: Unmatched command line arguments."
+        print("Warning: Unmatched command line arguments.")
     app = Application()
     if len(sys.argv) == 2:
         #app.readInitialFile(sys.argv[1])
--- a/gui/Preferences.py
+++ b/gui/Preferences.py
@@ -1,6 +1,6 @@
 """Implements the preferences."""
 
-from PreferencesDialog import PreferencesDialog
+from .PreferencesDialog import PreferencesDialog
 from copy import copy
 import wx
 import sys
@@ -63,9 +63,9 @@ def main():
     preferences.openDialog()
     app.MainLoop()
     for category in preferences.data:
-        print category
+        print(category)
         for field in preferences.data[category]:
-            print '    ', preferences.data[category][field]
+            print('    ', preferences.data[category][field])
 
 if __name__ == '__main__':
     main()
--- a/gui/Launcher.py
+++ b/gui/Launcher.py
@@ -24,7 +24,7 @@ def cpuCount():
         # http://codeliberates.blogspot.com/2008/05/detecting-cpuscores-in-python.html
         # Linux, Unix and MacOS:
         if hasattr(os, "sysconf"):
-            if os.sysconf_names.has_key("SC_NPROCESSORS_ONLN"):
+            if "SC_NPROCESSORS_ONLN" in os.sysconf_names:
                 # Linux & Unix:
                 count = os.sysconf("SC_NPROCESSORS_ONLN")
                 if isinstance(count, int) and count > 0:
@@ -32,7 +32,7 @@ def cpuCount():
             else: # OS X:
                 return int(os.popen2("sysctl -n hw.ncpu")[1].read())
         # Windows:
-        if os.environ.has_key("NUMBER_OF_PROCESSORS"):
+        if "NUMBER_OF_PROCESSORS" in os.environ:
             count = int(os.environ["NUMBER_OF_PROCESSORS"]);
             if count > 0:
                 return count
@@ -362,28 +362,28 @@ class LauncherFrame(wx.Frame):
                             self.importTrajectories)
 
     def launch(self):
-        print 'launch'
+        print('launch')
 
     def compile(self):
-        print 'compile'
+        print('compile')
 
     def stop(self):
-        print 'stop'
+        print('stop')
 
     def kill(self):
-        print 'kill'
+        print('kill')
 
     def saveExecutable(self):
-        print 'saveExecutable'
+        print('saveExecutable')
 
     def exportJobs(self):
-        print 'exportJobs'
+        print('exportJobs')
 
     def importTrajectories(self):
-        print 'importTrajectories'
+        print('importTrajectories')
 
     def exportMathematica(self):
-        print 'exportMathematica'
+        print('exportMathematica')
 
     def getSelectedModelId(self):
         return '1'
--- a/fio/ValueTextParser.py
+++ b/fio/ValueTextParser.py
@@ -77,21 +77,21 @@ def main():
     assert not parser.parse('a', '', '', [])
     assert not parser.parse('a', 'expression', '', ['a'])
 
-    print parser.parseTable([['a', 'expression', '']], [])
+    print(parser.parseTable([['a', 'expression', '']], []))
     assert not parser.errorMessage
 
-    print parser.parseTable([['', 'expression', '']], [])
+    print(parser.parseTable([['', 'expression', '']], []))
     assert parser.errorMessage
-    print parser.errorMessage
+    print(parser.errorMessage)
 
-    print parser.parseTable([['a', '', '']], [])
+    print(parser.parseTable([['a', '', '']], []))
     assert parser.errorMessage
-    print parser.errorMessage
+    print(parser.errorMessage)
 
-    print parser.parseTable([['a', 'expression', ''], ['a', 'expression', '']],
-                            [])
+    print(parser.parseTable([['a', 'expression', ''], ['a', 'expression', '']],
+                            []))
     assert parser.errorMessage
-    print parser.errorMessage
+    print(parser.errorMessage)
 
 if __name__ == '__main__':
     main()
--- a/fio/TriggerEventTextParser.py
+++ b/fio/TriggerEventTextParser.py
@@ -89,28 +89,28 @@ def main():
 
     assert not parser.parse('1', 't>1', 's1=2', '0', '', 'name', [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('e1', '', 's1=2', '0', '', 'name', [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('e1', 't>1', '', '0', '', 'name', [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('e1', 't>1', 's1=2', 'a', '', 'name', [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('e1', 't>1', 's1=2', '-1', '', 'name', [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     identifiers = []
     assert parser.parseTable([['e1', 't>1', 's1=2', '0', '', 'name']],
@@ -118,8 +118,8 @@ def main():
     assert not parser.parseTable([['e1', 't>1', 's1=2', '0', '', 'name']],
                                  identifiers)
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
 if __name__ == '__main__':
     main()
--- a/fio/ReactionTextParser.py
+++ b/fio/ReactionTextParser.py
@@ -161,38 +161,38 @@ def main():
     assert not parser.parse('1', 's1 + 2 s2', 's3', '1', '2.5', 'reaction 1',
                             ['s1', 's2', 's3'], [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('r1', '1 + 2 s2', 's3', '1', '2.5', 'reaction 1',
                             ['s1', 's2', 's3'], [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('r1', 's1 - 2 s2', 's3', '1', '2.5', 'reaction 1',
                             ['s1', 's2', 's3'], [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('r1', 's1 + 2 s2', '3', '1', '2.5', 'reaction 1',
                             ['s1', 's2', 's3'], [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('r1', 's1 + 2 s2', 's3 + s4', '1', 'reaction 1',
                             '2.5', ['s1', 's2', 's3'], [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('r1', 's1 + 2 s2', 's3', '1', '', 'reaction 1',
                             ['s1', 's2', 's3'], [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     # Does not check for negative numbers.
     assert parser.parse('r1', 's1 + 2 s2', 's3', '1', '-2.5', 'reaction 1',
@@ -201,8 +201,8 @@ def main():
     assert not parser.parse('r1', 's1 + 2 s2', 's3', '1', '2.5', 'reaction 1',
                             ['s1', 's2', 's3'], ['r1'])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert parser.parseTable(
         [['r1', 's1 + 2 s2', 's3', '1', '2.5', 'reaction 1']],
@@ -219,16 +219,16 @@ def main():
         [['1', 's1 + 2 s2', 's3', '1', '2.5', 'reaction 1']],
         ['s1', 's2', 's3'], [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parseTable(
         [['r1', 's1 + 2 s2', 's3', '1', '2.5', 'reaction 1'],
          ['r1', 's1 + s2', 's3', '1', '2.5', 'reaction 2']],
         ['s1', 's2', 's3'], [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
 if __name__ == '__main__':
     main()
--- a/fio/TimeEventTextParser.py
+++ b/fio/TimeEventTextParser.py
@@ -88,35 +88,35 @@ def main():
 
     assert not parser.parse('1', '1', 's1=2', 'name', [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('e1', '1', 's1=2', 'name', ['e1'])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('e1', 'a', 's1=2', 'name', [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('e1', '[a]', 's1=2', 'name', [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     assert not parser.parse('e1', '1', '', 'name', [])
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
     identifiers = []
     assert parser.parseTable([['e1', '1', 's1=2', 'name']], identifiers)
     assert not parser.parseTable([['e1', '1', 's1=2', 'name']], identifiers)
     assert parser.errorMessage
-    print parser.errorMessage
-    print ''
+    print(parser.errorMessage)
+    print('')
 
 if __name__ == '__main__':
     main()
--- a/fio/SpeciesTextParser.py
+++ b/fio/SpeciesTextParser.py
@@ -101,23 +101,23 @@ def main():
     assert not parser.parse('a', '', '', 'c1', [])
     assert not parser.parse('a', '1', '', 'c1', ['a'])
 
-    print parser.parseTable([['s1', '100', 'species 1', 'c1']], [])
+    print(parser.parseTable([['s1', '100', 'species 1', 'c1']], []))
     assert not parser.errorMessage
 
-    print parser.parseTable([['s1', '100', 'species 1', 'c1'],
-                             ['s2', '200', 'species 2', 'c1']], [])
+    print(parser.parseTable([['s1', '100', 'species 1', 'c1'],
+                             ['s2', '200', 'species 2', 'c1']], []))
     assert not parser.errorMessage
 
-    print parser.parseTable([['1', '100', 'species 1', 'c1']], [])
+    print(parser.parseTable([['1', '100', 'species 1', 'c1']], []))
     assert parser.errorMessage
-    print parser.errorMessage
+    print(parser.errorMessage)
 
-    print parser.parseTable([['s1', '100', 'species 1', 'c1'],
-                             ['s1', '200', 'species 2', 'c1']], [])
+    print(parser.parseTable([['s1', '100', 'species 1', 'c1'],
+                             ['s1', '200', 'species 2', 'c1']], []))
     assert parser.errorMessage
-    print parser.errorMessage
+    print(parser.errorMessage)
 
-    print parser.parseTable([['s1', '100', 'species 1', 'c1']], [])
+    print(parser.parseTable([['s1', '100', 'species 1', 'c1']], []))
     assert not parser.errorMessage
 
 if __name__ == '__main__':
--- a/fio/readModelText.py
+++ b/fio/readModelText.py
@@ -48,7 +48,7 @@ def readModelText(input):
         for n in range(numberOfSpecies):
             model.species[sid[n]] = Species('', '', initialAmounts[n])
         # Read the packed reactions into a list of integers.
-        data = map(int, input.readline().rstrip().split())
+        data = list(map(int, input.readline().rstrip().split()))
         # The propensity factors.
         propensityFactors = input.readline().rstrip().split()
         # Add the reactions.
@@ -82,7 +82,7 @@ def readModelText(input):
                                             True, propensityFactors[i]))
         # Return the model.
         return model
-    except Exception, error:
+    except Exception as error:
         print(error)
         return None
 
--- a/gui/MainFrame.py
+++ b/gui/MainFrame.py
@@ -17,19 +17,19 @@ import threading
 import webbrowser
 import platform
 import tempfile
-import urllib2
+import urllib.request, urllib.error, urllib.parse
 
-from About import About
-from IdentifierListEditor import IdentifierListEditor
-from ModelEditor import ModelEditor, EVT_SPECIES_OR_REACTIONS_MODIFIED
-from Record import Record
-from MethodEditor import MethodEditor
-from Launcher import Launcher
-from TrajectoriesList import TrajectoriesList
-from PlotTimeSeries import closeAll
+from .About import About
+from .IdentifierListEditor import IdentifierListEditor
+from .ModelEditor import ModelEditor, EVT_SPECIES_OR_REACTIONS_MODIFIED
+from .Record import Record
+from .MethodEditor import MethodEditor
+from .Launcher import Launcher
+from .TrajectoriesList import TrajectoriesList
+from .PlotTimeSeries import closeAll
 from resourcePath import resourcePath
-from DuplicateDialog import DuplicateDialog
-from StateModified import EVT_STATE_MODIFIED
+from .DuplicateDialog import DuplicateDialog
+from .StateModified import EVT_STATE_MODIFIED
 from fio.SpeciesTextParser import SpeciesTextParser
 from fio.ReactionTextParser import ReactionTextParser
 from fio.TimeEventTextParser import TimeEventTextParser
@@ -38,7 +38,7 @@ from fio.ParameterTextParser import Para
 from fio.CompartmentTextParser import CompartmentTextParser
 from state.State import State
 import state.simulationMethods as simulationMethods
-from messages import UpdateVersionFrame, ScrolledMessageFrame,\
+from .messages import UpdateVersionFrame, ScrolledMessageFrame,\
      CompilationError, CompilingMessage, truncatedMessageBox,\
      truncatedErrorBox, openWrite
 
@@ -200,7 +200,7 @@ class MainFrame(wx.Frame):
     def checkVersion(self):
         try:
             url = 'http://cain.sourceforge.net/version.txt'
-            currentVersion = urllib2.urlopen(url, timeout=2).read()
+            currentVersion = urllib.request.urlopen(url, timeout=2).read()
             c = currentVersion.split('.')
             t = self.state.version.split('.')
             if int(t[0]) < int(c[0]) or \
@@ -1026,7 +1026,7 @@ class MainFrame(wx.Frame):
                 self.state.importStatistics(filename, self.modelId, 
                                             self.methodId, recordedSpecies)
                 self.updateSimulations()
-            except Exception, exception:
+            except Exception as exception:
                 truncatedErrorBox("Problem in importing %s.\n" % filename +
                                   str(exception))
                 self.deleteOutput(self.modelId, self.methodId)
@@ -1059,7 +1059,7 @@ class MainFrame(wx.Frame):
                 self.state.importSuiteOfTrajectories(dialog.GetPaths(),
                                                      self.modelId,
                                                      self.methodId)
-            except Exception, exception:
+            except Exception as exception:
                 truncatedErrorBox("Problem in importing trajectories.\n" +
                                   str(exception))
             self.updateSimulations()
@@ -1088,7 +1088,7 @@ class MainFrame(wx.Frame):
             if re.search('<sbml', open(filename, 'r').read()):
                 self.importSbml(filename, useMessageBox)
                 return
-        except Exception, exception:
+        except Exception as exception:
             if useMessageBox:
                 truncatedErrorBox('Problem in determining the file type for ' +
                                   filename + '.\n' + str(exception))
@@ -1119,7 +1119,7 @@ class MainFrame(wx.Frame):
             self.filename = filename
             self.SetTitle(self.title + ' -- ' + self.filename)
             self.isModified = False
-        except Exception, exception:
+        except Exception as exception:
             if useMessageBox:
                 truncatedErrorBox("Problem in reading %s.\n" % filename +
                                   errors + '\n' + str(exception))
@@ -1146,7 +1146,7 @@ class MainFrame(wx.Frame):
                 # Select the model.
                 self.modelsList.selectLast()
             self.isModified = True
-        except Exception, exception:
+        except Exception as exception:
             if useMessageBox:
                 truncatedErrorBox("Problem in importing %s.\n" % filename +
                                   errors + '\n' + str(exception))
@@ -1170,7 +1170,7 @@ class MainFrame(wx.Frame):
             # Select the model.
             self.modelsList.selectLast()
             self.isModified = True
-        except Exception, exception:
+        except Exception as exception:
             if useMessageBox:
                 truncatedErrorBox("Problem in importing text model %s.\n"
                                   % filename + '\n' + str(exception))