Make it easier to find a jobfile.
authorNathan Binkert <binkertn@umich.edu>
Mon, 7 Mar 2005 18:05:41 +0000 (13:05 -0500)
committerNathan Binkert <binkertn@umich.edu>
Mon, 7 Mar 2005 18:05:41 +0000 (13:05 -0500)
util/pbs/jobfile.py:
    Search for the jobfile in sys.path

--HG--
extra : convert_revision : 50d2c2c13b6b9de4f6bc4e833961e309a98b0d2b

util/pbs/jobfile.py

index 570faa61bd6c1b485013ec593fa21c5fee7c7733..83eb813586ce1770e005a01fdd1b712da5a84ae5 100644 (file)
@@ -26,7 +26,9 @@
 #
 # Authors: Nathan Binkert
 
-from os.path import expanduser
+from os.path import expanduser, isfile, join as joinpath
+import sys
+
 def crossproduct(options):
     number = len(options)
     indexes = [ 0 ] * number
@@ -49,9 +51,16 @@ def crossproduct(options):
         done = next()
 
 class JobFile(object):
-    def __init__(self, file):
+    def __init__(self, jfile):
         self.data = {}
-        execfile(expanduser(file), self.data)
+        jfile = expanduser(jfile)
+        if not isfile(jfile):
+            for p in sys.path:
+                if isfile(joinpath(p, jfile)):
+                    jfile = joinpath(p, jfile)
+                    break
+
+        execfile(jfile, self.data)
         self.options = self.data['options']
         self.environment = self.data['environment']
         self.jobinfo = {}