def generatorDirective(_context, name, transform, depends, targethandler=NullTargetHandler, dispatcher=Dispatcher, class_=Generator, description=u''): name = '%s.%s' % (transform, name) description = normalizetext(description) generator = class_(name, depends, description) utility(_context, provides=IGenerator, component=generator, name=name) dispatcher = dispatcher(name) utility(_context, provides=IDispatcher, component=dispatcher, name=name) targethandler = targethandler(None) utility(_context, provides=ITargetHandler, component=targethandler, name=name)
def registerGenerator(name, transform, depends, targethandler=NullTargetHandler, dispatcher=Dispatcher, class_=Generator, description=u''): name = '%s.%s' % (transform, name) _chkregistered(IGenerator, name=name) _chkregistered(IDispatcher, name=name) _chkregistered(ITargetHandler, name=name) description = normalizetext(description) generator = class_(name, depends, description) provideUtility(generator, provides=IGenerator, name=name) dispatcher = dispatcher(name) provideUtility(dispatcher, provides=IDispatcher, name=name) targethandler = targethandler(None) provideUtility(targethandler, provides=ITargetHandler, name=name)