Example #1
0
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)
Example #2
0
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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
                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):
Example #8
0
            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