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   
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           
16           
17          tempdir = mkdtemp() 
18          try: 
19              copy(configFileName, tempdir) 
20              for entry in os.listdir("."): 
21                   
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               
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