blob: a61aa48160d3a7c6e68ff514fede2c9132a0617e [file] [log] [blame]
# -*- coding: utf-8 -*-
#
# Copyright 2012 - 2013 Raphaƫl Beamonte <raphael.beamonte@gmail.com>
#
# 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 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# For the avoidance of doubt the "preferred form" of this code is one which
# is in an open unpatent encumbered format. Where cryptographic key signing
# forms part of the process of creating an executable the information
# including keys needed to generate an equivalently functional executable
# are deemed to be part of the source code.
#
import os
import os.path
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):
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]