Package buildbot :: Package changes :: Module changes :: Class ChangeMaster
[frames] | no frames]

Class ChangeMaster

source code

 twisted.application.service.Service --+    
                                       |    
twisted.application.service.MultiService --+
                                           |
                                          ChangeMaster
Known Subclasses:

This is the master-side service which receives file change notifications from CVS. It keeps a log of these changes, enough to provide for the HTML waterfall display, and to tell temporarily-disconnected bots what they missed while they were offline.

Change notifications come from two different kinds of sources. The first is a PB service (servicename='changemaster', perspectivename='change'), which provides a remote method called 'addChange', which should be called with a dict that has keys 'filename' and 'comments'.

The second is a list of objects derived from the ChangeSource class. These are added with .addSource(), which also sets the .changemaster attribute in the source to point at the ChangeMaster. When the application begins, these will be started with .start() . At shutdown time, they will be terminated with .stop() . They must be persistable. They are expected to call self.changemaster.addChange() with Change objects.

There are several different variants of the second type of source:

Instance Methods
 
__init__(self) source code
 
addSource(self, source) source code
 
removeSource(self, source) source code
 
addChange(self, change)
Deliver a file change event.
source code
 
pruneChanges(self) source code
 
eventGenerator(self, branches=[], categories=[]) source code
 
getChangeNumbered(self, num) source code
 
__getstate__(self) source code
 
__setstate__(self, d) source code
 
saveYourself(self) source code
 
stopService(self) source code

Inherited from twisted.application.service.MultiService: __iter__, addService, getServiceNamed, privilegedStartService, removeService, startService

Inherited from twisted.application.service.Service: __providedBy__, disownServiceParent, setName, setServiceParent

Class Variables
  debug = False
  changeHorizon = 0
  __implemented__ = <implementedBy buildbot.changes.changes.Chan...
  __provides__ = <zope.interface.declarations.ClassProvides obje...

Inherited from twisted.application.service.Service: name, parent, running

Method Details

__init__(self)
(Constructor)

source code 
Overrides: twisted.application.service.MultiService.__init__

addChange(self, change)

source code 

Deliver a file change event. The event should be a Change object. This method will timestamp the object as it is received.

__getstate__(self)

source code 
Overrides: twisted.application.service.Service.__getstate__

stopService(self)

source code 
Overrides: twisted.application.service.Service.stopService

Class Variable Details

__implemented__

Value:
<implementedBy buildbot.changes.changes.ChangeMaster>

__provides__

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