src/cm/utils/system.py
author gibus
Mon, 10 Feb 2014 15:56:24 +0100
changeset 567 a6b0dcb13eb0
parent 0 40c8f766c9b8
permissions -rw-r--r--
Compliance withh EU/CNIL privacy recommandations, see <http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/outils-et-codes-sources/la-mesure-daudience/>

# taken from plone

import os

bin_search_path = [
    '/usr/bin',
    '/usr/local/bin',
    ]

class MissingBinary(Exception): pass

def bin_search(binary):
    """search the bin_search_path  for a given binary
    returning its fullname or None"""
    result = None
    mode   = os.R_OK | os.X_OK
    for p in bin_search_path:
        path = os.path.join(p, binary)
        if os.access(path, mode) == 1:
            result = path
            break
    else:
        raise MissingBinary('Unable to find binary "%s"' % binary)
    return result