applied the except and raise fixers to the master branch to close the gap with py3
[nepi.git] / src / nepi / resources / linux / application.py
index 89a9cfb..1574f63 100644 (file)
@@ -3,9 +3,8 @@
 #    Copyright (C) 2013 INRIA
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    it under the terms of the GNU General Public License version 2 as
+#    published by the Free Software Foundation;
 #
 #    This program is distributed in the hope that it will be useful,
 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -201,7 +200,7 @@ class LinuxApplication(ResourceManager):
             if not node: 
                 msg = "Application %s guid %d NOT connected to Node" % (
                         self._rtype, self.guid)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
 
             self._node = node[0]
 
@@ -295,7 +294,8 @@ class LinuxApplication(ResourceManager):
                 for line in out.strip().split("\n"):
                     parts = line.strip().split(" ")
                     procs[parts[0]] = parts[1]
-                pickle.dump(procs, open("/tmp/save.proc", "wb"))
+                with open("/tmp/save.proc", "wb") as pickle_file:
+                    pickle.dump(procs, pickle_file)
             
         # create run dir for application
         self.node.mkdir(self.run_home)
@@ -355,7 +355,6 @@ class LinuxApplication(ResourceManager):
 
             # replace application specific paths in the command
             command = self.replace_paths(command)
-            
             # replace application specific paths in the environment
             env = self.get("env")
             env = env and self.replace_paths(env)
@@ -526,7 +525,7 @@ class LinuxApplication(ResourceManager):
         # Wait until node is associated and deployed
         node = self.node
         if not node or node.state < ResourceState.READY:
-            self.debug("---- RESCHEDULING DEPLOY ---- node state %s " % self.node.state )
+            self.debug("---- RESCHEDULING DEPLOY ---- node state %s " % self.node.state)
             self.ec.schedule(self.reschedule_delay, self.deploy)
         else:
             command = self.get("command") or ""
@@ -574,7 +573,7 @@ class LinuxApplication(ResourceManager):
 
         if self._proc.poll():
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
 
     def _run_in_background(self):
         command = self.get("command")
@@ -603,7 +602,7 @@ class LinuxApplication(ResourceManager):
         
         if proc.poll():
             self.error(msg, out, err)
-            raise RuntimeError, msg
+            raise RuntimeError(msg)
     
         # Wait for pid file to be generated
         pid, ppid = self.node.wait_pid(self.run_home)
@@ -620,7 +619,7 @@ class LinuxApplication(ResourceManager):
             if err:
                 msg = " Failed to start command '%s' " % command
                 self.error(msg, out, err)
-                raise RuntimeError, msg
+                raise RuntimeError(msg)
     
     def do_stop(self):
         """ Stops application execution