class BaseDirective(rst.Directive): def __init__(self, root_data_object, renderer_factory_creator_constructor, finder_factory, matcher_factory, project_info_factory, filter_factory, target_handler_factory, *args): rst.Directive.__init__(self, *args) self.root_data_object = root_data_object self.renderer_factory_creator_constructor = renderer_factory_creator_constructor self.finder_factory = finder_factory self.matcher_factory = matcher_factory self.project_info_factory = project_info_factory self.filter_factory = filter_factory self.target_handler_factory = target_handler_factory def render(self, data_object, project_info, filter_, target_handler): "Standard render process used by subclasses" renderer_factory_creator = self.renderer_factory_creator_constructor.create_factory_creator( project_info, self.state.document, self.options, target_handler) try: renderer_factory = renderer_factory_creator.create_factory( data_object, self.state, self.state.document, filter_, target_handler, ) except ParserError, e: return format_parser_error("doxygenclass", e.error, e.filename, self.state, self.lineno, True) except FileIOError, e: return format_parser_error("doxygenclass", e.error, e.filename, self.state, self.lineno)
class IndexHandler(object): """ Replaces a DoxygenNode with the rendered contents of the doxygen xml's index.xml file This used to be carried out in the doxygenindex directive implementation but we have this level of indirection to support the autodoxygenindex directive and share the code. """ def __init__(self, name, project_info, options, state, lineno, factories): self.name = name self.project_info = project_info self.options = options self.state = state self.lineno = lineno self.factories = factories def render(self): try: finder = self.factories.finder_factory.create_finder( self.project_info) except ParserError, e: return format_parser_error(self.name, e.error, e.filename, self.state, self.lineno, True) except FileIOError, e: return format_parser_error(self.name, e.error, e.filename, self.state, self.lineno)
def render(self): try: finder = self.factories.finder_factory.create_finder( self.project_info) except ParserError, e: return format_parser_error(self.name, e.error, e.filename, self.state, self.lineno, True)
def render(self, data_object, project_info, filter_, target_handler): "Standard render process used by subclasses" renderer_factory_creator = self.renderer_factory_creator_constructor.create_factory_creator( project_info, self.state.document, self.options, target_handler) try: renderer_factory = renderer_factory_creator.create_factory( data_object, self.state, self.state.document, filter_, target_handler, ) except ParserError, e: return format_parser_error("doxygenclass", e.error, e.filename, self.state, self.lineno, True)
def render(self, data_object, project_info, filter_, target_handler): "Standard render process used by subclasses" renderer_factory_creator = self.renderer_factory_creator_constructor.create_factory_creator( project_info, self.state.document, self.options, target_handler ) try: renderer_factory = renderer_factory_creator.create_factory( data_object, self.state, self.state.document, filter_, target_handler, ) except ParserError, e: return format_parser_error("doxygenclass", e.error, e.filename, self.state, self.lineno, True)
def render(self): try: finder = self.factories.finder_factory.create_finder(self.project_info) except ParserError, e: return format_parser_error(self.name, e.error, e.filename, self.state, self.lineno, True)
self.options, target_handler ) renderer_factory = renderer_factory_creator.create_factory( data_object, self.state, self.state.document, filter_, target_handler, ) object_renderer = renderer_factory.create_renderer(self.factories.root_data_object, data_object) try: node_list = object_renderer.render() except ParserError, e: return format_parser_error(self.name, e.error, e.filename, self.state, self.lineno, True) except FileIOError, e: return format_parser_error(self.name, e.error, e.filename, self.state, self.lineno) return node_list class ProjectData(object): "Simple handler for the files and project_info for each project" def __init__(self, auto_project_info, files): self.auto_project_info = auto_project_info self.files = files class DoxygenAutoTransform(Transform):
self.project_info, self.state.document, self.options, target_handler) renderer_factory = renderer_factory_creator.create_factory( data_object, self.state, self.state.document, filter_, target_handler, ) object_renderer = renderer_factory.create_renderer( self.factories.root_data_object, data_object) try: node_list = object_renderer.render() except ParserError, e: return format_parser_error(self.name, e.error, e.filename, self.state, self.lineno, True) except FileIOError, e: return format_parser_error(self.name, e.error, e.filename, self.state, self.lineno) return node_list class ProjectData(object): "Simple handler for the files and project_info for each project" def __init__(self, auto_project_info, files): self.auto_project_info = auto_project_info self.files = files