Package buildbot :: Module config
[frames] | no frames]

Source Code for Module buildbot.config

 1  from buildbot.util import now, safeTranslate 
 2   
 3   
4 -class BuilderConfig:
5 """ 6 7 Used in config files to specify a builder - this can be subclassed by users 8 to add extra config args, set defaults, or whatever. It is converted to a 9 dictionary for consumption by the buildmaster at config time. 10 11 """ 12
13 - def __init__(self, 14 name=None, 15 slavename=None, 16 slavenames=None, 17 builddir=None, 18 slavebuilddir=None, 19 factory=None, 20 category=None, 21 nextSlave=None, 22 nextBuild=None, 23 locks=None, 24 env=None):
25 26 # name is required, and can't start with '_' 27 if not name or type(name) is not str: 28 raise ValueError("builder's name is required") 29 if name[0] == '_': 30 raise ValueError("builder names must not start with an " 31 "underscore: " + name) 32 self.name = name 33 34 # factory is required 35 if factory is None: 36 raise ValueError("builder's factory is required") 37 self.factory = factory 38 39 # slavenames can be a single slave name or a list, and should also 40 # include slavename, if given 41 if type(slavenames) is str: 42 slavenames = [ slavenames ] 43 if slavenames: 44 if type(slavenames) is not list: 45 raise TypeError("slavenames must be a list or a string") 46 else: 47 slavenames = [] 48 if slavename: 49 if type(slavename) != str: 50 raise TypeError("slavename must be a string") 51 slavenames = slavenames + [ slavename ] 52 if not slavenames: 53 raise ValueError("at least one slavename is required") 54 self.slavenames = slavenames 55 56 # builddir defaults to name 57 if builddir is None: 58 builddir = safeTranslate(name) 59 self.builddir = builddir 60 61 # slavebuilddir defaults to builddir 62 if slavebuilddir is None: 63 slavebuilddir = builddir 64 self.slavebuilddir = slavebuilddir 65 66 # remainder are optional 67 self.category = category 68 self.nextSlave = nextSlave 69 self.nextBuild = nextBuild 70 self.locks = locks 71 self.env = env
72
73 - def getConfigDict(self):
74 rv = { 75 'name': self.name, 76 'slavenames': self.slavenames, 77 'factory': self.factory, 78 'builddir': self.builddir, 79 'slavebuilddir': self.slavebuilddir, 80 } 81 if self.category: 82 rv['category'] = self.category 83 if self.nextSlave: 84 rv['nextSlave'] = self.nextSlave 85 if self.nextBuild: 86 rv['nextBuild'] = self.nextBuild 87 if self.locks: 88 rv['locks'] = self.locks 89 if self.env: 90 rv['env'] = self.env 91 return rv
92