Package buildbot :: Package scripts :: Module checkconfig
[frames] | no frames]

Source Code for Module buildbot.scripts.checkconfig

 1  import sys 
 2  import os 
 3  from shutil import copy, rmtree 
 4  from tempfile import mkdtemp 
 5  from os.path import isfile 
 6  import traceback 
 7   
 8  from buildbot import master 
 9   
10 -class ConfigLoader(master.BuildMaster):
11 - def __init__(self, basedir=os.getcwd(), configFileName="master.cfg"):
12 master.BuildMaster.__init__(self, basedir, configFileName) 13 configFileName = os.path.join(basedir, configFileName) 14 dir = os.getcwd() 15 # Use a temporary directory since loadConfig() creates a bunch of 16 # directories and compiles .py files 17 tempdir = mkdtemp() 18 try: 19 copy(configFileName, tempdir) 20 for entry in os.listdir("."): 21 # Any code in a subdirectory will _not_ be copied! This is a bug 22 if isfile(entry) and not entry.startswith("twistd.log"): 23 copy(entry, tempdir) 24 except: 25 raise 26 27 try: 28 os.chdir(tempdir) 29 # Add the temp directory to the library path so local modules work 30 sys.path.append(tempdir) 31 configFile = open(configFileName, "r") 32 self.loadConfig(configFile) 33 except: 34 os.chdir(dir) 35 configFile.close() 36 rmtree(tempdir) 37 raise 38 os.chdir(dir) 39 rmtree(tempdir)
40