Add "variants" field to LUDiagnoseOS
[ganeti-local] / lib / build / __init__.py
index 007afb2..0f58b61 100644 (file)
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02110-1301, USA.
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02110-1301, USA.
+
+
+import imp
+import os
+
+
+def LoadModule(filename):
+  """Loads an external module by filename.
+
+  Use this function with caution. Python will always write the compiled source
+  to a file named "${filename}c".
+
+  @type filename: string
+  @param filename: Path to module
+
+  """
+  (name, ext) = os.path.splitext(filename)
+
+  fh = open(filename, "U")
+  try:
+    return imp.load_module(name, fh, filename, (ext, "U", imp.PY_SOURCE))
+  finally:
+    fh.close()