Ejemplo n.º 1
0
    def __init__(self, name, abs_name, file, lineno, parent_module = None,
                 docstring = "", children = [ ]):
        """Constructor

          Don't call this directly -- instead, use the fromAST static methods

          - name     : object name
          - abs_name : dotted object name
          - file     : file where defined
          - lineno   : line number of definition
          - parent_module : module object where defined
          - docstring: documentation
          - children : list of children
        """
        Namespace.__init__(self, parent_module, name)
        self.name_list = abs_name.split('.')
        self.abs_name = abs_name
        self.file = file
        self.lineno = lineno
        if docstring is None:
            self.docstring = ""
        else:
            self.docstring = docstring
        self.children = children
        self.parent_module = parent_module
Ejemplo n.º 2
0
    def __init__(self, options):
        """Class initializer

        options : command line options"""
        self.options = options
        self.modules = [ ]
        self.modules_by_name = { }
        self.package_namespace = Namespace(name = options.package)
Ejemplo n.º 3
0
    def __init__(self, options):
        """Class initializer

        options : command line options"""
        self.options = options
        self.modules = []
        self.modules_by_name = {}
        self.package_namespace = Namespace(name=options.package)
Ejemplo n.º 4
0
class OutputBase:
    """Base class for output backends
    """

    def __init__(self, options):
        """Class initializer

        options : command line options"""
        self.options = options
        self.modules = [ ]
        self.modules_by_name = { }
        self.package_namespace = Namespace(name = options.package)

    def add_module(self, module):
        "Add a parsed module (docobjects.Module) to be documented"
        self.modules.append(module)
        self.modules_by_name[module.abs_name] = module
        self.package_namespace.bind(module.abs_name, module)

        # add module to parent as submodule, if parent present
        dot = module.abs_name.rfind('.')
        if dot != -1:
            parent_name = module.abs_name[:dot]
            if self.modules_by_name.has_key(parent_name):
                self.modules_by_name[parent_name].add_sub_module(module)

    def resolve_imports(self):
        "Resolve dangling imports after all modules scanned"
        for module in self.modules:
            module.resolve_imports(self.modules_by_name)

    def write_output(self):
        "Generate documentation"
        self.resolve_imports()
        self.generate()

    def generate(self):
        pass
Ejemplo n.º 5
0
class OutputBase:
    """Base class for output backends
    """

    def __init__(self, options):
        """Class initializer

        options : command line options"""
        self.options = options
        self.modules = []
        self.modules_by_name = {}
        self.package_namespace = Namespace(name=options.package)

    def add_module(self, module):
        "Add a parsed module (docobjects.Module) to be documented"
        self.modules.append(module)
        self.modules_by_name[module.abs_name] = module
        self.package_namespace.bind(module.abs_name, module)

        # add module to parent as submodule, if parent present
        dot = module.abs_name.rfind(".")
        if dot != -1:
            parent_name = module.abs_name[:dot]
            if self.modules_by_name.has_key(parent_name):
                self.modules_by_name[parent_name].add_sub_module(module)

    def resolve_imports(self):
        "Resolve dangling imports after all modules scanned"
        for module in self.modules:
            module.resolve_imports(self.modules_by_name)

    def write_output(self):
        "Generate documentation"
        self.resolve_imports()
        self.generate()

    def generate(self):
        pass
Ejemplo n.º 6
0
 def bind(self, name, obj):
     "Bind name to obj in this object's (self's) namespace"
     Namespace.bind(self, name, obj)
     DocObject.GLOBAL[self.name + '.' + name] = obj
Ejemplo n.º 7
0
 def index(self):
     "Return dictionary of modules, indexed by name"
     result = Namespace.index(self)
     return dict([ (k, v) for k, v in result.items() if isinstance(v, Module) ])