Package buildbot :: Package status :: Module builder :: Class BuilderStatus
[frames | no frames]

Class BuilderStatus

Versioned --+
            |
           BuilderStatus


I handle status information for a single process.base.Builder object. That object sends status changes to me (frequently as Events), and I provide them on demand to the various status recipients, like the HTML waterfall display and the live status clients. It also sends build summaries to me, which I log and provide to status clients who aren't interested in seeing details of the individual build steps.

I am responsible for maintaining the list of historic Events and Builds, pruning old ones, and loading them from / saving them to disk.

I live in the buildbot.process.base.Builder object, in the .statusbag attribute.
Method Summary
  __init__(self, buildername, category)
  __getstate__(self)
  __setstate__(self, d)
  addBuildRequest(self, brstatus)
  addBuildToCache(self, build)
  addClient(self, client)
  addEvent(self, text, color)
  addPointEvent(self, text, color)
  buildStarted(self, s)
Now the BuildStatus object is ready to go (it knows all of its Steps, its ETA, etc), so it is safe to notify our watchers.
  determineNextBuildNumber(self)
Scan our directory of saved BuildStatus instances to determine what our self.nextBuildNumber should be.
  eventGenerator(self)
This function creates a generator which will provide all of this Builder's status events, starting with the most recent and progressing backwards in time.
  getBuild(self, number)
  getBuildByNumber(self, number)
  getCurrentBuilds(self)
  getEvent(self, number)
  getEventNumbered(self, num)
  getLastFinishedBuild(self)
  getName(self)
  getPendingBuilds(self)
  getSlaves(self)
  getState(self)
  loadYourOldEvents(self)
  newBuild(self)
The Builder has decided to start a build, but the Build object is not yet ready to report status (it has not finished creating the Steps).
  prune(self)
  publishState(self, target)
  removeBuildRequest(self, brstatus)
  removeClient(self, client)
  saveYourOldEvents(self)
  saveYourself(self)
  sendCurrentActivityBig(self, client)
  sendCurrentActivityBigToEveryone(self)
  sendLastBuildStatus(self, client)
  setBigState(self, state)
  setSlavenames(self, names)
  subscribe(self, receiver)
  unsubscribe(self, receiver)
  upgradeToVersion1(self)
    Inherited from Versioned
  versionUpgrade(self)
(internal) Do a version upgrade.

Instance Variable Summary
string category: user-defined category this builder belongs to; can be used to filter on in status clients

Class Variable Summary
Implements __implemented__ = <implementedBy buildbot.status.builder...
ClassProvides __provides__ = <zope.interface.declarations.ClassProvide...
NoneType basedir = None                                                                  
int buildCacheSize = 30                                                                    
int buildHorizon = 100                                                                   
str currentBigState = 'offline'
int persistenceVersion = 1                                                                     
int stepHorizon = 50                                                                    
    Inherited from Versioned
ClassProvides __providedBy__ = <zope.interface.declarations.ClassProvi...
tuple persistenceForgets = ()

Method Details

buildStarted(self, s)

Now the BuildStatus object is ready to go (it knows all of its Steps, its ETA, etc), so it is safe to notify our watchers.

determineNextBuildNumber(self)

Scan our directory of saved BuildStatus instances to determine what our self.nextBuildNumber should be. Set it one larger than the highest-numbered build we discover. This is called by the top-level Status object shortly after we are created or loaded from disk.

eventGenerator(self)

This function creates a generator which will provide all of this Builder's status events, starting with the most recent and progressing backwards in time.

newBuild(self)

The Builder has decided to start a build, but the Build object is not yet ready to report status (it has not finished creating the Steps). Create a BuildStatus object that it can use.

Instance Variable Details

category

user-defined category this builder belongs to; can be used to filter on in status clients
Type:
string
Value:
None                                                                  

Class Variable Details

__implemented__

Type:
Implements
Value:
<implementedBy buildbot.status.builder.BuilderStatus>                  

__provides__

Type:
ClassProvides
Value:
<zope.interface.declarations.ClassProvides object at 0x40652fac>       

basedir

Type:
NoneType
Value:
None                                                                  

buildCacheSize

Type:
int
Value:
30                                                                    

buildHorizon

Type:
int
Value:
100                                                                   

currentBigState

Type:
str
Value:
'offline'                                                              

persistenceVersion

Type:
int
Value:
1                                                                     

stepHorizon

Type:
int
Value:
50                                                                    

Generated by Epydoc 2.1 on Sun Dec 10 22:04:45 2006 http://epydoc.sf.net