New namespace parsing

go-templates
Eric Holscher 9 years ago
parent c6f2d32305
commit 4e532d8a94

@ -58,6 +58,7 @@ class AutoAPIDomain(object):
namespaces = {}
objects = {}
top_level_objects = {}
def __init__(self, app):
self.app = app

@ -85,7 +85,7 @@ class DotNetDomain(AutoAPIDomain):
:param obj: Instance of a .NET object
'''
if type(obj) in self.list_classes:
self.app.env.autoapi_data.append(obj)
self.top_level_objects[obj.name] = obj
self.objects[obj.name] = obj
def organize_objects(self):
@ -105,23 +105,18 @@ class DotNetDomain(AutoAPIDomain):
return
namespace = obj.namespace
if namespace is not None:
ns_obj = None
for (n, search_obj) in enumerate(self.app.env.autoapi_data):
if (search_obj.id == namespace and
isinstance(search_obj, DotNetNamespace)):
ns_obj = self.app.env.autoapi_data[n]
ns_obj = self.top_level_objects.get(namespace)
if ns_obj is None:
print "Adding Namespace %s" % namespace
ns_obj = self.create_class({'id': namespace,
'type': 'namespace'})
_render_children(ns_obj)
self.app.env.autoapi_data.append(ns_obj)
self.namespaces[ns_obj.id] = ns_obj
if obj.id not in (child for child in ns_obj.children):
self.top_level_objects[ns_obj.name] = ns_obj
if obj not in ns_obj.children:
ns_obj.children.append(obj)
# _recurse_ns(ns_obj)
self.namespaces[ns_obj.id] = ns_obj
#_recurse_ns(ns_obj)
for obj in self.app.env.autoapi_data:
for obj in self.top_level_objects.values():
_render_children(obj)
_recurse_ns(obj)
@ -134,7 +129,7 @@ class DotNetDomain(AutoAPIDomain):
self.write_indexes()
def generate_output(self):
for obj in self.app.env.autoapi_data:
for obj in self.top_level_objects.values():
if not obj:
continue
@ -165,10 +160,10 @@ class DotNetDomain(AutoAPIDomain):
def write_indexes(self):
# Write Index
top_level_index = os.path.join(self.get_config('autoapi_root'),
'index.rst')
'index.rst')
with open(top_level_index, 'w+') as top_level_file:
content = env.get_template('index.rst')
top_level_file.write(content.render())
top_level_file.write(content.render(pages=self.namespaces.values()))
class DotNetBase(AutoAPIBase):

Loading…
Cancel
Save