summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaphaël Beamonte <raphael.beamonte@gmail.com>2012-11-21 18:22:11 -0500
committerClark Williams <williams@redhat.com>2012-11-29 15:41:52 -0600
commit2bdb51986aacd5c42bd74719e178eaaa71697d86 (patch)
tree9cf312eab31061808722f86afe95813d404aef8d
parent4090f302f28f7f0d63cc9439d03a6fad7af5bc87 (diff)
downloadrteval-2bdb51986aacd5c42bd74719e178eaaa71697d86.tar.gz
rteval-2bdb51986aacd5c42bd74719e178eaaa71697d86.tar.xz
rteval-2bdb51986aacd5c42bd74719e178eaaa71697d86.zip
Changes the getcmdpath method to use only python calls to find the paths
In my previous patches, I introduced a getcmdpath method which intended to replace the direct calls to binary from clear paths, using the which binary to locate the place of the searched one. This behavior was in fact not the finest as the method itself used the full path to the which binary. In this patch, I corrected the getcmdpath command to use only python calls (os.path.isfile and os.access) to identify in the PATH environment variable the place where the binary is. Signed-off-by: Raphaël Beamonte <raphael.beamonte@gmail.com> Signed-off-by: Clark Williams <williams@redhat.com>
-rw-r--r--rteval/rteval.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/rteval/rteval.py b/rteval/rteval.py
index beba49f..5843d78 100644
--- a/rteval/rteval.py
+++ b/rteval/rteval.py
@@ -68,10 +68,16 @@ from cputopology import CPUtopology
pathSave={}
def getcmdpath(which):
+ """
+ getcmdpath is a method which allows finding an executable in the PATH
+ directories to call it from full path
+ """
if not pathSave.has_key(which):
- cmd = '/usr/bin/which %s' % which
- c = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
- pathSave[which] = c.stdout.read().strip()
+ for path in os.environ['PATH'].split(':'):
+ cmdfile = os.path.join(path, which)
+ if os.path.isfile(cmdfile) and os.access(cmdfile, os.X_OK):
+ pathSave[which] = cmdfile
+ break
if not pathSave[which]:
raise RuntimeError, "Command '%s' is unknown on this system" % which
return pathSave[which]