Package ganeti :: Package build
[hide private]
[frames] | no frames]

Source Code for Package ganeti.build

 1  # 
 2  # 
 3   
 4  # Copyright (C) 2009 Google Inc. 
 5  # All rights reserved. 
 6  # 
 7  # Redistribution and use in source and binary forms, with or without 
 8  # modification, are permitted provided that the following conditions are 
 9  # met: 
10  # 
11  # 1. Redistributions of source code must retain the above copyright notice, 
12  # this list of conditions and the following disclaimer. 
13  # 
14  # 2. Redistributions in binary form must reproduce the above copyright 
15  # notice, this list of conditions and the following disclaimer in the 
16  # documentation and/or other materials provided with the distribution. 
17  # 
18  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
19  # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
20  # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
21  # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
22  # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
23  # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
24  # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
25  # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
26  # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
27  # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
28  # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
29   
30  """Module used during the Ganeti build process""" 
31   
32  import imp 
33  import os 
34   
35   
36 -def LoadModule(filename):
37 """Loads an external module by filename. 38 39 Use this function with caution. Python will always write the compiled source 40 to a file named "${filename}c". 41 42 @type filename: string 43 @param filename: Path to module 44 45 """ 46 (name, ext) = os.path.splitext(filename) 47 48 fh = open(filename, "U") 49 try: 50 return imp.load_module(name, fh, filename, (ext, "U", imp.PY_SOURCE)) 51 finally: 52 fh.close()
53