id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,branch,branch_author,launchpad_bug
4676,There's no api for setting components in a twistd plugin,djfroofy,,"Currently there's no api for setting the components in a twistd plugin. In .tac files, this is trivial:

{{{
#!python
application.setComponent(ILogObserver, PythonLoggingObserver().emit)
}}}

The only way I know how to do this is inheriting from MultiService:

{{{
#!python
class PythonLoggingMultiService(service.MultiService):

    def setServiceParent(self, parent):
        super(PythonLoggingMultiService, self).setServiceParent(parent)
        parent.setComponent(ILogObserver, PythonLoggingObserver().emit) 

}}}

twistd plugins: http://twistedmatrix.com/documents/current/core/howto/tap.html
",enhancement,closed,normal,,core,duplicate,,,,,
