[Buildbot-devel] writing custom sources?

Brian Warner warner-buildbot at lothar.com
Sun Jul 27 21:37:38 UTC 2003


> Really, creating an IChangeSource does not involve anything more than
> you did in this e-mail; Interfaces are largely documentation.  Just put
> a 'class IChangeSource(Interface)' in front of these methods and  add a
> __implements__ = (IChangeSource,) attribute to the FreshCVSSource class.

Ok, done. Cool.

> Interfaces are also used by Adapters and Componentized systems, but you
> don't need to know anything about those in order to define an Interface.

Is it worth doing either of the two following things in
ChangeMaster.addSource?:

  assert(components.implements(source, IChangeSource))

or

  source = IChangeSource(source)

??

I see the first as a sanity check, and the second as a way to allow an
Adapter to be used. But I notice that there aren' very many instances of the
second in Twisted itself.. perhaps this kind of Adaptation isn't very useful
in practice?

thanks,
 -Brian




More information about the devel mailing list