src/cm/utils/system.py
changeset 0 40c8f766c9b8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/utils/system.py	Mon Nov 23 15:14:29 2009 +0100
@@ -0,0 +1,24 @@
+# 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
\ No newline at end of file