parent
90cdba142b
commit
f7dc0e54c1
@ -0,0 +1,35 @@ |
||||
# Copyright 2011 Free Software Foundation, Inc. |
||||
# |
||||
# This file is part of GNU Radio |
||||
# |
||||
# GNU Radio is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 3, or (at your option) |
||||
# any later version. |
||||
# |
||||
# GNU Radio is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with GNU Radio; see the file COPYING. If not, write to |
||||
# the Free Software Foundation, Inc., 51 Franklin Street, |
||||
# Boston, MA 02110-1301, USA. |
||||
|
||||
######################################################################## |
||||
# Setup dependencies |
||||
######################################################################## |
||||
find_package(Doxygen) |
||||
|
||||
######################################################################## |
||||
# Begin conditional configuration |
||||
######################################################################## |
||||
if(ENABLE_DOXYGEN) |
||||
|
||||
######################################################################## |
||||
# Add subdirectories |
||||
######################################################################## |
||||
add_subdirectory(doxygen) |
||||
|
||||
endif(ENABLE_DOXYGEN) |
@ -0,0 +1,11 @@ |
||||
This is the op25-write-a-block package meant as a guide to building |
||||
out-of-tree packages. To use the op25 blocks, the Python namespaces |
||||
is in 'op25', which is imported as: |
||||
|
||||
import op25 |
||||
|
||||
See the Doxygen documentation for details about the blocks available |
||||
in this package. A quick listing of the details can be found in Python |
||||
after importing by using: |
||||
|
||||
help(op25) |
@ -0,0 +1,52 @@ |
||||
# Copyright 2011 Free Software Foundation, Inc. |
||||
# |
||||
# This file is part of GNU Radio |
||||
# |
||||
# GNU Radio is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 3, or (at your option) |
||||
# any later version. |
||||
# |
||||
# GNU Radio is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with GNU Radio; see the file COPYING. If not, write to |
||||
# the Free Software Foundation, Inc., 51 Franklin Street, |
||||
# Boston, MA 02110-1301, USA. |
||||
|
||||
######################################################################## |
||||
# Create the doxygen configuration file |
||||
######################################################################## |
||||
file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} top_srcdir) |
||||
file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} top_builddir) |
||||
file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} abs_top_srcdir) |
||||
file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} abs_top_builddir) |
||||
|
||||
set(HAVE_DOT ${DOXYGEN_DOT_FOUND}) |
||||
set(enable_html_docs YES) |
||||
set(enable_latex_docs NO) |
||||
set(enable_xml_docs YES) |
||||
|
||||
configure_file( |
||||
${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in |
||||
${CMAKE_CURRENT_BINARY_DIR}/Doxyfile |
||||
@ONLY) |
||||
|
||||
set(BUILT_DIRS ${CMAKE_CURRENT_BINARY_DIR}/xml ${CMAKE_CURRENT_BINARY_DIR}/html) |
||||
|
||||
######################################################################## |
||||
# Make and install doxygen docs |
||||
######################################################################## |
||||
add_custom_command( |
||||
OUTPUT ${BUILT_DIRS} |
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile |
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
||||
COMMENT "Generating documentation with doxygen" |
||||
) |
||||
|
||||
add_custom_target(doxygen_target ALL DEPENDS ${BUILT_DIRS}) |
||||
|
||||
install(DIRECTORY ${BUILT_DIRS} DESTINATION ${GR_PKG_DOC_DIR}) |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,82 @@ |
||||
# |
||||
# Copyright 2010 Free Software Foundation, Inc. |
||||
# |
||||
# This file is part of GNU Radio |
||||
# |
||||
# GNU Radio is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 3, or (at your option) |
||||
# any later version. |
||||
# |
||||
# GNU Radio is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with GNU Radio; see the file COPYING. If not, write to |
||||
# the Free Software Foundation, Inc., 51 Franklin Street, |
||||
# Boston, MA 02110-1301, USA. |
||||
# |
||||
""" |
||||
Python interface to contents of doxygen xml documentation. |
||||
|
||||
Example use: |
||||
See the contents of the example folder for the C++ and |
||||
doxygen-generated xml used in this example. |
||||
|
||||
>>> # Parse the doxygen docs. |
||||
>>> import os |
||||
>>> this_dir = os.path.dirname(globals()['__file__']) |
||||
>>> xml_path = this_dir + "/example/xml/" |
||||
>>> di = DoxyIndex(xml_path) |
||||
|
||||
Get a list of all top-level objects. |
||||
|
||||
>>> print([mem.name() for mem in di.members()]) |
||||
[u'Aadvark', u'aadvarky_enough', u'main'] |
||||
|
||||
Get all functions. |
||||
|
||||
>>> print([mem.name() for mem in di.in_category(DoxyFunction)]) |
||||
[u'aadvarky_enough', u'main'] |
||||
|
||||
Check if an object is present. |
||||
|
||||
>>> di.has_member(u'Aadvark') |
||||
True |
||||
>>> di.has_member(u'Fish') |
||||
False |
||||
|
||||
Get an item by name and check its properties. |
||||
|
||||
>>> aad = di.get_member(u'Aadvark') |
||||
>>> print(aad.brief_description) |
||||
Models the mammal Aadvark. |
||||
>>> print(aad.detailed_description) |
||||
Sadly the model is incomplete and cannot capture all aspects of an aadvark yet. |
||||
<BLANKLINE> |
||||
This line is uninformative and is only to test line breaks in the comments. |
||||
>>> [mem.name() for mem in aad.members()] |
||||
[u'aadvarkness', u'print', u'Aadvark', u'get_aadvarkness'] |
||||
>>> aad.get_member(u'print').brief_description |
||||
u'Outputs the vital aadvark statistics.' |
||||
|
||||
""" |
||||
|
||||
from doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther |
||||
|
||||
def _test(): |
||||
import os |
||||
this_dir = os.path.dirname(globals()['__file__']) |
||||
xml_path = this_dir + "/example/xml/" |
||||
di = DoxyIndex(xml_path) |
||||
# Get the Aadvark class |
||||
aad = di.get_member('Aadvark') |
||||
aad.brief_description |
||||
import doctest |
||||
return doctest.testmod() |
||||
|
||||
if __name__ == "__main__": |
||||
_test() |
||||
|
@ -0,0 +1,219 @@ |
||||
# |
||||
# Copyright 2010 Free Software Foundation, Inc. |
||||
# |
||||
# This file is part of GNU Radio |
||||
# |
||||
# GNU Radio is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 3, or (at your option) |
||||
# any later version. |
||||
# |
||||
# GNU Radio is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with GNU Radio; see the file COPYING. If not, write to |
||||
# the Free Software Foundation, Inc., 51 Franklin Street, |
||||
# Boston, MA 02110-1301, USA. |
||||
# |
||||
""" |
||||
A base class is created. |
||||
|
||||
Classes based upon this are used to make more user-friendly interfaces |
||||
to the doxygen xml docs than the generated classes provide. |
||||
""" |
||||
|
||||
import os |
||||
import pdb |
||||
|
||||
from xml.parsers.expat import ExpatError |
||||
|
||||
from generated import compound |
||||
|
||||
|
||||
class Base(object): |
||||
|
||||
class Duplicate(StandardError): |
||||
pass |
||||
|
||||
class NoSuchMember(StandardError): |
||||
pass |
||||
|
||||
class ParsingError(StandardError): |
||||
pass |
||||
|
||||
def __init__(self, parse_data, top=None): |
||||
self._parsed = False |
||||
self._error = False |
||||
self._parse_data = parse_data |
||||
self._members = [] |
||||
self._dict_members = {} |
||||
self._in_category = {} |
||||
self._data = {} |
||||
if top is not None: |
||||
self._xml_path = top._xml_path |
||||
# Set up holder of references |
||||
else: |
||||
top = self |
||||
self._refs = {} |
||||
self._xml_path = parse_data |
||||
self.top = top |
||||
|
||||
@classmethod |
||||
def from_refid(cls, refid, top=None): |
||||
""" Instantiate class from a refid rather than parsing object. """ |
||||
# First check to see if its already been instantiated. |
||||
if top is not None and refid in top._refs: |
||||
return top._refs[refid] |
||||
# Otherwise create a new instance and set refid. |
||||
inst = cls(None, top=top) |
||||
inst.refid = refid |
||||
inst.add_ref(inst) |
||||
return inst |
||||
|
||||
@classmethod |
||||
def from_parse_data(cls, parse_data, top=None): |
||||
refid = getattr(parse_data, 'refid', None) |
||||
if refid is not None and top is not None and refid in top._refs: |
||||
return top._refs[refid] |
||||
inst = cls(parse_data, top=top) |
||||
if refid is not None: |
||||
inst.refid = refid |
||||
inst.add_ref(inst) |
||||
return inst |
||||
|
||||
def add_ref(self, obj): |
||||
if hasattr(obj, 'refid'): |
||||
self.top._refs[obj.refid] = obj |
||||
|
||||
mem_classes = [] |
||||
|
||||
def get_cls(self, mem): |
||||
for cls in self.mem_classes: |
||||
if cls.can_parse(mem): |
||||
return cls |
||||
raise StandardError(("Did not find a class for object '%s'." \ |
||||
% (mem.get_name()))) |
||||
|
||||
def convert_mem(self, mem): |
||||
try: |
||||
cls = self.get_cls(mem) |
||||
converted = cls.from_parse_data(mem, self.top) |
||||
if converted is None: |
||||
raise StandardError('No class matched this object.') |
||||
self.add_ref(converted) |
||||
return converted |
||||
except StandardError, e: |
||||
print e |
||||
|
||||
@classmethod |
||||
def includes(cls, inst): |
||||
return isinstance(inst, cls) |
||||
|
||||
@classmethod |
||||
def can_parse(cls, obj): |
||||
return False |
||||
|
||||
def _parse(self): |
||||
self._parsed = True |
||||
|
||||
def _get_dict_members(self, cat=None): |
||||
""" |
||||
For given category a dictionary is returned mapping member names to |
||||
members of that category. For names that are duplicated the name is |
||||
mapped to None. |
||||
""" |
||||
self.confirm_no_error() |
||||
if cat not in self._dict_members: |
||||
new_dict = {} |
||||
for mem in self.in_category(cat): |
||||
if mem.name() not in new_dict: |
||||
new_dict[mem.name()] = mem |
||||
else: |
||||
new_dict[mem.name()] = self.Duplicate |
||||
self._dict_members[cat] = new_dict |
||||
return self._dict_members[cat] |
||||
|
||||
def in_category(self, cat): |
||||
self.confirm_no_error() |
||||
if cat is None: |
||||
return self._members |
||||
if cat not in self._in_category: |
||||
self._in_category[cat] = [mem for mem in self._members |
||||
if cat.includes(mem)] |
||||
return self._in_category[cat] |
||||
|
||||
def get_member(self, name, cat=None): |
||||
self.confirm_no_error() |
||||
# Check if it's in a namespace or class. |
||||
bits = name.split('::') |
||||
first = bits[0] |
||||
rest = '::'.join(bits[1:]) |
||||
member = self._get_dict_members(cat).get(first, self.NoSuchMember) |
||||
# Raise any errors that are returned. |
||||
if member in set([self.NoSuchMember, self.Duplicate]): |
||||
raise member() |
||||
if rest: |
||||
return member.get_member(rest, cat=cat) |
||||
return member |
||||
|
||||
def has_member(self, name, cat=None): |
||||
try: |
||||
mem = self.get_member(name, cat=cat) |
||||
return True |
||||
except self.NoSuchMember: |
||||
return False |
||||
|
||||
def data(self): |
||||
self.confirm_no_error() |
||||
return self._data |
||||
|
||||
def members(self): |
||||
self.confirm_no_error() |
||||
return self._members |
||||
|
||||
def process_memberdefs(self): |
||||
mdtss = [] |
||||
for sec in self._retrieved_data.compounddef.sectiondef: |
||||
mdtss += sec.memberdef |
||||
# At the moment we lose all information associated with sections. |
||||
# Sometimes a memberdef is in several sectiondef. |
||||
# We make sure we don't get duplicates here. |
||||
uniques = set([]) |
||||
for mem in mdtss: |
||||
converted = self.convert_mem(mem) |
||||
pair = (mem.name, mem.__class__) |
||||
if pair not in uniques: |
||||
uniques.add(pair) |
||||
self._members.append(converted) |
||||
|
||||
def retrieve_data(self): |
||||
filename = os.path.join(self._xml_path, self.refid + '.xml') |
||||
try: |
||||
self._retrieved_data = compound.parse(filename) |
||||
except ExpatError: |
||||
print('Error in xml in file %s' % filename) |
||||
self._error = True |
||||
self._retrieved_data = None |
||||
|
||||
def check_parsed(self): |
||||
if not self._parsed: |
||||
self._parse() |
||||
|
||||
def confirm_no_error(self): |
||||
self.check_parsed() |
||||
if self._error: |
||||
raise self.ParsingError() |
||||
|
||||
def error(self): |
||||
self.check_parsed() |
||||
return self._error |
||||
|
||||
def name(self): |
||||
# first see if we can do it without processing. |
||||
if self._parse_data is not None: |
||||
return self._parse_data.name |
||||
self.check_parsed() |
||||
return self._retrieved_data.compounddef.name |
@ -0,0 +1,237 @@ |
||||
# |
||||
# Copyright 2010 Free Software Foundation, Inc. |
||||
# |
||||
# This file is part of GNU Radio |
||||
# |
||||
# GNU Radio is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 3, or (at your option) |
||||
# any later version. |
||||
# |
||||
# GNU Radio is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with GNU Radio; see the file COPYING. If not, write to |
||||
# the Free Software Foundation, Inc., 51 Franklin Street, |
||||
# Boston, MA 02110-1301, USA. |
||||
# |
||||
""" |
||||
Classes providing more user-friendly interfaces to the doxygen xml |
||||
docs than the generated classes provide. |
||||
""" |
||||
|
||||
import os |
||||
|
||||
from generated import index |
||||
from base import Base |
||||
from text import description |
||||
|
||||
class DoxyIndex(Base): |
||||
""" |
||||
Parses a doxygen xml directory. |
||||
""" |
||||
|
||||
__module__ = "gnuradio.utils.doxyxml" |
||||
|
||||
def _parse(self): |
||||
if self._parsed: |
||||
return |
||||
super(DoxyIndex, self)._parse() |
||||
self._root = index.parse(os.path.join(self._xml_path, 'index.xml')) |
||||
for mem in self._root.compound: |
||||
converted = self.convert_mem(mem) |
||||
# For files we want the contents to be accessible directly |
||||
# from the parent rather than having to go through the file |
||||
# object. |
||||
if self.get_cls(mem) == DoxyFile: |
||||
if mem.name.endswith('.h'): |
||||
self._members += converted.members() |
||||
self._members.append(converted) |
||||
else: |
||||
self._members.append(converted) |
||||
|
||||
|
||||
def generate_swig_doc_i(self): |
||||
""" |
||||
%feature("docstring") gr_make_align_on_samplenumbers_ss::align_state " |
||||
Wraps the C++: gr_align_on_samplenumbers_ss::align_state"; |
||||
""" |
||||
pass |
||||
|
||||
|
||||
class DoxyCompMem(Base): |
||||
|
||||
|
||||
kind = None |
||||
|
||||
def __init__(self, *args, **kwargs): |
||||
super(DoxyCompMem, self).__init__(*args, **kwargs) |
||||
|
||||
@classmethod |
||||
def can_parse(cls, obj): |
||||
return obj.kind == cls.kind |
||||
|
||||
def set_descriptions(self, parse_data): |
||||
bd = description(getattr(parse_data, 'briefdescription', None)) |
||||
dd = description(getattr(parse_data, 'detaileddescription', None)) |
||||
self._data['brief_description'] = bd |
||||
self._data['detailed_description'] = dd |
||||
|
||||
class DoxyCompound(DoxyCompMem): |
||||
pass |
||||
|
||||
class DoxyMember(DoxyCompMem): |
||||
pass |
||||
|
||||
|
||||
class DoxyFunction(DoxyMember): |
||||
|
||||
__module__ = "gnuradio.utils.doxyxml" |
||||
|
||||
kind = 'function' |
||||
|
||||
def _parse(self): |
||||
if self._parsed: |
||||
return |
||||
super(DoxyFunction, self)._parse() |
||||
self.set_descriptions(self._parse_data) |
||||
self._data['params'] = [] |
||||
prms = self._parse_data.param |
||||
for prm in prms: |
||||
self._data['params'].append(DoxyParam(prm)) |
||||
|
||||
brief_description = property(lambda self: self.data()['brief_description']) |
||||
detailed_description = property(lambda self: self.data()['detailed_description']) |
||||
params = property(lambda self: self.data()['params']) |
||||
|
||||
Base.mem_classes.append(DoxyFunction) |
||||
|
||||
|
||||
class DoxyParam(DoxyMember): |
||||
|
||||
__module__ = "gnuradio.utils.doxyxml" |
||||
|
||||
def _parse(self): |
||||
if self._parsed: |
||||
return |
||||
super(DoxyParam, self)._parse() |
||||
self.set_descriptions(self._parse_data) |
||||
self._data['declname'] = self._parse_data.declname |
||||
|
||||
brief_description = property(lambda self: self.data()['brief_description']) |
||||
detailed_description = property(lambda self: self.data()['detailed_description']) |
||||
declname = property(lambda self: self.data()['declname']) |
||||
|
||||
class DoxyClass(DoxyCompound): |
||||
|
||||
__module__ = "gnuradio.utils.doxyxml" |
||||
|
||||
kind = 'class' |
||||
|
||||
def _parse(self): |
||||
if self._parsed: |
||||
return |
||||
super(DoxyClass, self)._parse() |
||||
self.retrieve_data() |
||||
if self._error: |
||||
return |
||||
self.set_descriptions(self._retrieved_data.compounddef) |
||||
# Sectiondef.kind tells about whether private or public. |
||||
# We just ignore this for now. |
||||
self.process_memberdefs() |
||||
|
||||
brief_description = property(lambda self: self.data()['brief_description']) |
||||
detailed_description = property(lambda self: self.data()['detailed_description']) |
||||
|
||||
Base.mem_classes.append(DoxyClass) |
||||
|
||||
|
||||
class DoxyFile(DoxyCompound): |
||||
|
||||
__module__ = "gnuradio.utils.doxyxml" |
||||
|
||||
kind = 'file' |
||||
|
||||
def _parse(self): |
||||
if self._parsed: |
||||
return |
||||
super(DoxyFile, self)._parse() |
||||
self.retrieve_data() |
||||
self.set_descriptions(self._retrieved_data.compounddef) |
||||
if self._error: |
||||
return |
||||
self.process_memberdefs() |
||||
|
||||
brief_description = property(lambda self: self.data()['brief_description']) |
||||
detailed_description = property(lambda self: self.data()['detailed_description']) |
||||
|
||||
Base.mem_classes.append(DoxyFile) |
||||
|
||||
|
||||
class DoxyNamespace(DoxyCompound): |
||||
|
||||
__module__ = "gnuradio.utils.doxyxml" |
||||
|
||||
kind = 'namespace' |
||||
|
||||
Base.mem_classes.append(DoxyNamespace) |
||||
|
||||
|
||||
class DoxyGroup(DoxyCompound): |
||||
|
||||
__module__ = "gnuradio.utils.doxyxml" |
||||
|
||||
kind = 'group' |
||||
|
||||
def _parse(self): |
||||
if self._parsed: |
||||
return |
||||
super(DoxyGroup, self)._parse() |
||||
self.retrieve_data() |
||||
if self._error: |
||||
return |
||||
cdef = self._retrieved_data.compounddef |
||||
self._data['title'] = description(cdef.title) |
||||
# Process inner groups |
||||
grps = cdef.innergroup |
||||
for grp in grps: |
||||
converted = DoxyGroup.from_refid(grp.refid, top=self.top) |
||||
self._members.append(converted) |
||||
# Process inner classes |
||||
klasses = cdef.innerclass |
||||
for kls in klasses: |
||||
converted = DoxyClass.from_refid(kls.refid, top=self.top) |
||||
self._members.append(converted) |
||||
# Process normal members |
||||
self.process_memberdefs() |
||||
|
||||
title = property(lambda self: self.data()['title']) |
||||
|
||||
|
||||
Base.mem_classes.append(DoxyGroup) |
||||
|
||||
|
||||
class DoxyFriend(DoxyMember): |
||||
|
||||
__module__ = "gnuradio.utils.doxyxml" |
||||
|
||||
kind = 'friend' |
||||
|
||||
Base.mem_classes.append(DoxyFriend) |
||||
|
||||
|
||||
class DoxyOther(Base): |
||||
|
||||
__module__ = "gnuradio.utils.doxyxml" |
||||
|
||||
kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', 'dir', 'page']) |
||||
|
||||
@classmethod |
||||
def can_parse(cls, obj): |
||||
return obj.kind in cls.kinds |
||||
|
||||
Base.mem_classes.append(DoxyOther) |
||||
|
@ -0,0 +1,7 @@ |
||||
""" |
||||
Contains generated files produced by generateDS.py. |
||||
|
||||
These do the real work of parsing the doxygen xml files but the |
||||
resultant classes are not very friendly to navigate so the rest of the |
||||
doxyxml module processes them further. |
||||
""" |
@ -0,0 +1,503 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
""" |
||||
Generated Mon Feb 9 19:08:05 2009 by generateDS.py. |
||||
""" |
||||
|
||||
from string import lower as str_lower |
||||
from xml.dom import minidom |
||||
from xml.dom import Node |
||||
|
||||
import sys |
||||
|
||||
import compoundsuper as supermod |
||||
from compoundsuper import MixedContainer |
||||
|
||||
|
||||
class DoxygenTypeSub(supermod.DoxygenType): |
||||
def __init__(self, version=None, compounddef=None): |
||||
supermod.DoxygenType.__init__(self, version, compounddef) |
||||
|
||||
def find(self, details): |
||||
|
||||
return self.compounddef.find(details) |
||||
|
||||
supermod.DoxygenType.subclass = DoxygenTypeSub |
||||
# end class DoxygenTypeSub |
||||
|
||||
|
||||
class compounddefTypeSub(supermod.compounddefType): |
||||
def __init__(self, kind=None, prot=None, id=None, compoundname='', title='', basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmembers=None): |
||||
supermod.compounddefType.__init__(self, kind, prot, id, compoundname, title, basecompoundref, derivedcompoundref, includes, includedby, incdepgraph, invincdepgraph, innerdir, innerfile, innerclass, innernamespace, innerpage, innergroup, templateparamlist, sectiondef, briefdescription, detaileddescription, inheritancegraph, collaborationgraph, programlisting, location, listofallmembers) |
||||
|
||||
def find(self, details): |
||||
|
||||
if self.id == details.refid: |
||||
return self |
||||
|
||||
for sectiondef in self.sectiondef: |
||||
result = sectiondef.find(details) |
||||
if result: |
||||
return result |
||||
|
||||
|
||||
supermod.compounddefType.subclass = compounddefTypeSub |
||||
# end class compounddefTypeSub |
||||
|
||||
|
||||
class listofallmembersTypeSub(supermod.listofallmembersType): |
||||
def __init__(self, member=None): |
||||
supermod.listofallmembersType.__init__(self, member) |
||||
supermod.listofallmembersType.subclass = listofallmembersTypeSub |
||||
# end class listofallmembersTypeSub |
||||
|
||||
|
||||
class memberRefTypeSub(supermod.memberRefType): |
||||
def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope='', name=''): |
||||
supermod.memberRefType.__init__(self, virt, prot, refid, ambiguityscope, scope, name) |
||||
supermod.memberRefType.subclass = memberRefTypeSub |
||||
# end class memberRefTypeSub |
||||
|
||||
|
||||
class compoundRefTypeSub(supermod.compoundRefType): |
||||
def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.compoundRefType.__init__(self, mixedclass_, content_) |
||||
supermod.compoundRefType.subclass = compoundRefTypeSub |
||||
# end class compoundRefTypeSub |
||||
|
||||
|
||||
class reimplementTypeSub(supermod.reimplementType): |
||||
def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.reimplementType.__init__(self, mixedclass_, content_) |
||||
supermod.reimplementType.subclass = reimplementTypeSub |
||||
# end class reimplementTypeSub |
||||
|
||||
|
||||
class incTypeSub(supermod.incType): |
||||
def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.incType.__init__(self, mixedclass_, content_) |
||||
supermod.incType.subclass = incTypeSub |
||||
# end class incTypeSub |
||||
|
||||
|
||||
class refTypeSub(supermod.refType): |
||||
def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.refType.__init__(self, mixedclass_, content_) |
||||
supermod.refType.subclass = refTypeSub |
||||
# end class refTypeSub |
||||
|
||||
|
||||
|
||||
class refTextTypeSub(supermod.refTextType): |
||||
def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.refTextType.__init__(self, mixedclass_, content_) |
||||
|
||||
supermod.refTextType.subclass = refTextTypeSub |
||||
# end class refTextTypeSub |
||||
|
||||
class sectiondefTypeSub(supermod.sectiondefType): |
||||
|
||||
|
||||
def __init__(self, kind=None, header='', description=None, memberdef=None): |
||||
supermod.sectiondefType.__init__(self, kind, header, description, memberdef) |
||||
|
||||
def find(self, details): |
||||
|
||||
for memberdef in self.memberdef: |
||||
if memberdef.id == details.refid: |
||||
return memberdef |
||||
|
||||
return None |
||||
|
||||
|
||||
supermod.sectiondefType.subclass = sectiondefTypeSub |
||||
# end class sectiondefTypeSub |
||||
|
||||
|
||||
class memberdefTypeSub(supermod.memberdefType): |
||||
def __init__(self, initonly=None, kind=None, volatile=None, const=None, raise_=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition='', argsstring='', name='', read='', write='', bitfield='', reimplements=None, reimplementedby=None, param=None, enumvalue=None, initializer=None, exceptions=None, briefdescription=None, detaileddescription=None, inbodydescription=None, location=None, references=None, referencedby=None): |
||||
supermod.memberdefType.__init__(self, initonly, kind, volatile, const, raise_, virt, readable, prot, explicit, new, final, writable, add, static, remove, sealed, mutable, gettable, inline, settable, id, templateparamlist, type_, definition, argsstring, name, read, write, bitfield, reimplements, reimplementedby, param, enumvalue, initializer, exceptions, briefdescription, detaileddescription, inbodydescription, location, references, referencedby) |
||||
supermod.memberdefType.subclass = memberdefTypeSub |
||||
# end class memberdefTypeSub |
||||
|
||||
|
||||
class descriptionTypeSub(supermod.descriptionType): |
||||
def __init__(self, title='', para=None, sect1=None, internal=None, mixedclass_=None, content_=None): |
||||
supermod.descriptionType.__init__(self, mixedclass_, content_) |
||||
supermod.descriptionType.subclass = descriptionTypeSub |
||||
# end class descriptionTypeSub |
||||
|
||||
|
||||
class enumvalueTypeSub(supermod.enumvalueType): |
||||
def __init__(self, prot=None, id=None, name='', initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None): |
||||
supermod.enumvalueType.__init__(self, mixedclass_, content_) |
||||
supermod.enumvalueType.subclass = enumvalueTypeSub |
||||
# end class enumvalueTypeSub |
||||
|
||||
|
||||
class templateparamlistTypeSub(supermod.templateparamlistType): |
||||
def __init__(self, param=None): |
||||
supermod.templateparamlistType.__init__(self, param) |
||||
supermod.templateparamlistType.subclass = templateparamlistTypeSub |
||||
# end class templateparamlistTypeSub |
||||
|
||||
|
||||
class paramTypeSub(supermod.paramType): |
||||
def __init__(self, type_=None, declname='', defname='', array='', defval=None, briefdescription=None): |
||||
supermod.paramType.__init__(self, type_, declname, defname, array, defval, briefdescription) |
||||
supermod.paramType.subclass = paramTypeSub |
||||
# end class paramTypeSub |
||||
|
||||
|
||||
class linkedTextTypeSub(supermod.linkedTextType): |
||||
def __init__(self, ref=None, mixedclass_=None, content_=None): |
||||
supermod.linkedTextType.__init__(self, mixedclass_, content_) |
||||
supermod.linkedTextType.subclass = linkedTextTypeSub |
||||
# end class linkedTextTypeSub |
||||
|
||||
|
||||
class graphTypeSub(supermod.graphType): |
||||
def __init__(self, node=None): |
||||
supermod.graphType.__init__(self, node) |
||||
supermod.graphType.subclass = graphTypeSub |
||||
# end class graphTypeSub |
||||
|
||||
|
||||
class nodeTypeSub(supermod.nodeType): |
||||
def __init__(self, id=None, label='', link=None, childnode=None): |
||||
supermod.nodeType.__init__(self, id, label, link, childnode) |
||||
supermod.nodeType.subclass = nodeTypeSub |
||||
# end class nodeTypeSub |
||||
|
||||
|
||||
class childnodeTypeSub(supermod.childnodeType): |
||||
def __init__(self, relation=None, refid=None, edgelabel=None): |
||||
supermod.childnodeType.__init__(self, relation, refid, edgelabel) |
||||
supermod.childnodeType.subclass = childnodeTypeSub |
||||
# end class childnodeTypeSub |
||||
|
||||
|
||||
class linkTypeSub(supermod.linkType): |
||||
def __init__(self, refid=None, external=None, valueOf_=''): |
||||
supermod.linkType.__init__(self, refid, external) |
||||
supermod.linkType.subclass = linkTypeSub |
||||
# end class linkTypeSub |
||||
|
||||
|
||||
class listingTypeSub(supermod.listingType): |
||||
def __init__(self, codeline=None): |
||||
supermod.listingType.__init__(self, codeline) |
||||
supermod.listingType.subclass = listingTypeSub |
||||
# end class listingTypeSub |
||||
|
||||
|
||||
class codelineTypeSub(supermod.codelineType): |
||||
def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None): |
||||
supermod.codelineType.__init__(self, external, lineno, refkind, refid, highlight) |
||||
supermod.codelineType.subclass = codelineTypeSub |
||||
# end class codelineTypeSub |
||||
|
||||
|
||||
class highlightTypeSub(supermod.highlightType): |
||||
def __init__(self, class_=None, sp=None, ref=None, mixedclass_=None, content_=None): |
||||
supermod.highlightType.__init__(self, mixedclass_, content_) |
||||
supermod.highlightType.subclass = highlightTypeSub |
||||
# end class highlightTypeSub |
||||
|
||||
|
||||
class referenceTypeSub(supermod.referenceType): |
||||
def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.referenceType.__init__(self, mixedclass_, content_) |
||||
supermod.referenceType.subclass = referenceTypeSub |
||||
# end class referenceTypeSub |
||||
|
||||
|
||||
class locationTypeSub(supermod.locationType): |
||||
def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''): |
||||
supermod.locationType.__init__(self, bodystart, line, bodyend, bodyfile, file) |
||||
supermod.locationType.subclass = locationTypeSub |
||||
# end class locationTypeSub |
||||
|
||||
|
||||
class docSect1TypeSub(supermod.docSect1Type): |
||||
def __init__(self, id=None, title='', para=None, sect2=None, internal=None, mixedclass_=None, content_=None): |
||||
supermod.docSect1Type.__init__(self, mixedclass_, content_) |
||||
supermod.docSect1Type.subclass = docSect1TypeSub |
||||
# end class docSect1TypeSub |
||||
|
||||
|
||||
class docSect2TypeSub(supermod.docSect2Type): |
||||
def __init__(self, id=None, title='', para=None, sect3=None, internal=None, mixedclass_=None, content_=None): |
||||
supermod.docSect2Type.__init__(self, mixedclass_, content_) |
||||
supermod.docSect2Type.subclass = docSect2TypeSub |
||||
# end class docSect2TypeSub |
||||
|
||||
|
||||
class docSect3TypeSub(supermod.docSect3Type): |
||||
def __init__(self, id=None, title='', para=None, sect4=None, internal=None, mixedclass_=None, content_=None): |
||||
supermod.docSect3Type.__init__(self, mixedclass_, content_) |
||||
supermod.docSect3Type.subclass = docSect3TypeSub |
||||
# end class docSect3TypeSub |
||||
|
||||
|
||||
class docSect4TypeSub(supermod.docSect4Type): |
||||
def __init__(self, id=None, title='', para=None, internal=None, mixedclass_=None, content_=None): |
||||
supermod.docSect4Type.__init__(self, mixedclass_, content_) |
||||
supermod.docSect4Type.subclass = docSect4TypeSub |
||||
# end class docSect4TypeSub |
||||
|
||||
|
||||
class docInternalTypeSub(supermod.docInternalType): |
||||
def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None): |
||||
supermod.docInternalType.__init__(self, mixedclass_, content_) |
||||
supermod.docInternalType.subclass = docInternalTypeSub |
||||
# end class docInternalTypeSub |
||||
|
||||
|
||||
class docInternalS1TypeSub(supermod.docInternalS1Type): |
||||
def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None): |
||||
supermod.docInternalS1Type.__init__(self, mixedclass_, content_) |
||||
supermod.docInternalS1Type.subclass = docInternalS1TypeSub |
||||
# end class docInternalS1TypeSub |
||||
|
||||
|
||||
class docInternalS2TypeSub(supermod.docInternalS2Type): |
||||
def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None): |
||||
supermod.docInternalS2Type.__init__(self, mixedclass_, content_) |
||||
supermod.docInternalS2Type.subclass = docInternalS2TypeSub |
||||
# end class docInternalS2TypeSub |
||||
|
||||
|
||||
class docInternalS3TypeSub(supermod.docInternalS3Type): |
||||
def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None): |
||||
supermod.docInternalS3Type.__init__(self, mixedclass_, content_) |
||||
supermod.docInternalS3Type.subclass = docInternalS3TypeSub |
||||
# end class docInternalS3TypeSub |
||||
|
||||
|
||||
class docInternalS4TypeSub(supermod.docInternalS4Type): |
||||
def __init__(self, para=None, mixedclass_=None, content_=None): |
||||
supermod.docInternalS4Type.__init__(self, mixedclass_, content_) |
||||
supermod.docInternalS4Type.subclass = docInternalS4TypeSub |
||||
# end class docInternalS4TypeSub |
||||
|
||||
|
||||
class docURLLinkSub(supermod.docURLLink): |
||||
def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.docURLLink.__init__(self, mixedclass_, content_) |
||||
supermod.docURLLink.subclass = docURLLinkSub |
||||
# end class docURLLinkSub |
||||
|
||||
|
||||
class docAnchorTypeSub(supermod.docAnchorType): |
||||
def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.docAnchorType.__init__(self, mixedclass_, content_) |
||||
supermod.docAnchorType.subclass = docAnchorTypeSub |
||||
# end class docAnchorTypeSub |
||||
|
||||
|
||||
class docFormulaTypeSub(supermod.docFormulaType): |
||||
def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.docFormulaType.__init__(self, mixedclass_, content_) |
||||
supermod.docFormulaType.subclass = docFormulaTypeSub |
||||
# end class docFormulaTypeSub |
||||
|
||||
|
||||
class docIndexEntryTypeSub(supermod.docIndexEntryType): |
||||
def __init__(self, primaryie='', secondaryie=''): |
||||
supermod.docIndexEntryType.__init__(self, primaryie, secondaryie) |
||||
supermod.docIndexEntryType.subclass = docIndexEntryTypeSub |
||||
# end class docIndexEntryTypeSub |
||||
|
||||
|
||||
class docListTypeSub(supermod.docListType): |
||||
def __init__(self, listitem=None): |
||||
supermod.docListType.__init__(self, listitem) |
||||
supermod.docListType.subclass = docListTypeSub |
||||
# end class docListTypeSub |
||||
|
||||
|
||||
class docListItemTypeSub(supermod.docListItemType): |
||||
def __init__(self, para=None): |
||||
supermod.docListItemType.__init__(self, para) |
||||
supermod.docListItemType.subclass = docListItemTypeSub |
||||
# end class docListItemTypeSub |
||||
|
||||
|
||||
class docSimpleSectTypeSub(supermod.docSimpleSectType): |
||||
def __init__(self, kind=None, title=None, para=None): |
||||
supermod.docSimpleSectType.__init__(self, kind, title, para) |
||||
supermod.docSimpleSectType.subclass = docSimpleSectTypeSub |
||||
# end class docSimpleSectTypeSub |
||||
|
||||
|
||||
class docVarListEntryTypeSub(supermod.docVarListEntryType): |
||||
def __init__(self, term=None): |
||||
supermod.docVarListEntryType.__init__(self, term) |
||||
supermod.docVarListEntryType.subclass = docVarListEntryTypeSub |
||||
# end class docVarListEntryTypeSub |
||||
|
||||
|
||||
class docRefTextTypeSub(supermod.docRefTextType): |
||||
def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.docRefTextType.__init__(self, mixedclass_, content_) |
||||
supermod.docRefTextType.subclass = docRefTextTypeSub |
||||
# end class docRefTextTypeSub |
||||
|
||||
|
||||
class docTableTypeSub(supermod.docTableType): |
||||
def __init__(self, rows=None, cols=None, row=None, caption=None): |
||||
supermod.docTableType.__init__(self, rows, cols, row, caption) |
||||
supermod.docTableType.subclass = docTableTypeSub |
||||
# end class docTableTypeSub |
||||
|
||||
|
||||
class docRowTypeSub(supermod.docRowType): |
||||
def __init__(self, entry=None): |
||||
supermod.docRowType.__init__(self, entry) |
||||
supermod.docRowType.subclass = docRowTypeSub |
||||
# end class docRowTypeSub |
||||
|
||||
|
||||
class docEntryTypeSub(supermod.docEntryType): |
||||
def __init__(self, thead=None, para=None): |
||||
supermod.docEntryType.__init__(self, thead, para) |
||||
supermod.docEntryType.subclass = docEntryTypeSub |
||||
# end class docEntryTypeSub |
||||
|
||||
|
||||
class docHeadingTypeSub(supermod.docHeadingType): |
||||
def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.docHeadingType.__init__(self, mixedclass_, content_) |
||||
supermod.docHeadingType.subclass = docHeadingTypeSub |
||||
# end class docHeadingTypeSub |
||||
|
||||
|
||||
class docImageTypeSub(supermod.docImageType): |
||||
def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.docImageType.__init__(self, mixedclass_, content_) |
||||
supermod.docImageType.subclass = docImageTypeSub |
||||
# end class docImageTypeSub |
||||
|
||||
|
||||
class docDotFileTypeSub(supermod.docDotFileType): |
||||
def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.docDotFileType.__init__(self, mixedclass_, content_) |
||||
supermod.docDotFileType.subclass = docDotFileTypeSub |
||||
# end class docDotFileTypeSub |
||||
|
||||
|
||||
class docTocItemTypeSub(supermod.docTocItemType): |
||||
def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None): |
||||
supermod.docTocItemType.__init__(self, mixedclass_, content_) |
||||
supermod.docTocItemType.subclass = docTocItemTypeSub |
||||
# end class docTocItemTypeSub |
||||
|
||||
|
||||
class docTocListTypeSub(supermod.docTocListType): |
||||
def __init__(self, tocitem=None): |
||||
supermod.docTocListType.__init__(self, tocitem) |
||||
supermod.docTocListType.subclass = docTocListTypeSub |
||||
# end class docTocListTypeSub |
||||
|
||||
|
||||
class docLanguageTypeSub(supermod.docLanguageType): |
||||
def __init__(self, langid=None, para=None): |
||||
supermod.docLanguageType.__init__(self, langid, para) |
||||
supermod.docLanguageType.subclass = docLanguageTypeSub |
||||
# end class docLanguageTypeSub |
||||
|
||||
|
||||
class docParamListTypeSub(supermod.docParamListType): |
||||
def __init__(self, kind=None, parameteritem=None): |
||||
supermod.docParamListType.__init__(self, kind, parameteritem) |
||||
supermod.docParamListType.subclass = docParamListTypeSub |
||||
# end class docParamListTypeSub |
||||
|
||||
|
||||
class docParamListItemSub(supermod.docParamListItem): |
||||
def __init__(self, parameternamelist=None, parameterdescription=None): |
||||
supermod.docParamListItem.__init__(self, parameternamelist, parameterdescription) |
||||
supermod.docParamListItem.subclass = docParamListItemSub |
||||
# end class docParamListItemSub |
||||
|
||||
|
||||
class docParamNameListSub(supermod.docParamNameList): |
||||
def __init__(self, parametername=None): |
||||
supermod.docParamNameList.__init__(self, parametername) |
||||
supermod.docParamNameList.subclass = docParamNameListSub |
||||
# end class docParamNameListSub |
||||
|
||||
|
||||
class docParamNameSub(supermod.docParamName): |
||||
def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None): |
||||
supermod.docParamName.__init__(self, mixedclass_, content_) |
||||
supermod.docParamName.subclass = docParamNameSub |
||||
# end class docParamNameSub |
||||
|
||||
|
||||
class docXRefSectTypeSub(supermod.docXRefSectType): |
||||
def __init__(self, id=None, xreftitle=None, xrefdescription=None): |
||||
supermod.docXRefSectType.__init__(self, id, xreftitle, xrefdescription) |
||||
supermod.docXRefSectType.subclass = docXRefSectTypeSub |
||||
# end class docXRefSectTypeSub |
||||
|
||||
|
||||
class docCopyTypeSub(supermod.docCopyType): |
||||
def __init__(self, link=None, para=None, sect1=None, internal=None): |
||||
supermod.docCopyType.__init__(self, link, para, sect1, internal) |
||||
supermod.docCopyType.subclass = docCopyTypeSub |
||||
# end class docCopyTypeSub |
||||
|
||||
|
||||
class docCharTypeSub(supermod.docCharType): |
||||
def __init__(self, char=None, valueOf_=''): |
||||
supermod.docCharType.__init__(self, char) |
||||
supermod.docCharType.subclass = docCharTypeSub |
||||
# end class docCharTypeSub |
||||
|
||||
class docParaTypeSub(supermod.docParaType): |
||||
def __init__(self, char=None, valueOf_=''): |
||||
supermod.docParaType.__init__(self, char) |
||||
|
||||
self.parameterlist = [] |
||||
self.simplesects = [] |
||||
self.content = [] |
||||
|
||||
def buildChildren(self, child_, nodeName_): |
||||
supermod.docParaType.buildChildren(self, child_, nodeName_) |
||||
|
||||
if child_.nodeType == Node.TEXT_NODE: |
||||
obj_ = self.mixedclass_(MixedContainer.CategoryText, |
||||
MixedContainer.TypeNone, '', child_.nodeValue) |
||||
self.content.append(obj_) |
||||
elif child_.nodeType == Node.ELEMENT_NODE and \ |
||||
nodeName_ == "ref": |
||||
obj_ = supermod.docRefTextType.factory() |
||||
obj_.build(child_) |
||||
self.content.append(obj_) |
||||
elif child_.nodeType == Node.ELEMENT_NODE and \ |
||||
nodeName_ == 'parameterlist': |
||||
obj_ = supermod.docParamListType.factory() |
||||
obj_.build(child_) |
||||
self.parameterlist.append(obj_) |
||||
elif child_.nodeType == Node.ELEMENT_NODE and \ |
||||
nodeName_ == 'simplesect': |
||||
obj_ = supermod.docSimpleSectType.factory() |
||||
obj_.build(child_) |
||||
self.simplesects.append(obj_) |
||||
|
||||
|
||||
supermod.docParaType.subclass = docParaTypeSub |
||||
# end class docParaTypeSub |
||||
|
||||
|
||||
|
||||
def parse(inFilename): |
||||
doc = minidom.parse(inFilename) |
||||
rootNode = doc.documentElement |
||||
rootObj = supermod.DoxygenType.factory() |
||||
rootObj.build(rootNode) |
||||
return rootObj |
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,77 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
""" |
||||
Generated Mon Feb 9 19:08:05 2009 by generateDS.py. |
||||
""" |
||||
|
||||
from xml.dom import minidom |
||||
|
||||
import os |
||||
import sys |
||||
import compound |
||||
|
||||
import indexsuper as supermod |
||||
|
||||
class DoxygenTypeSub(supermod.DoxygenType): |
||||
def __init__(self, version=None, compound=None): |
||||
supermod.DoxygenType.__init__(self, version, compound) |
||||
|
||||
def find_compounds_and_members(self, details): |
||||
""" |
||||
Returns a list of all compounds and their members which match details |
||||
""" |
||||
|
||||
results = [] |
||||
for compound in self.compound: |
||||
members = compound.find_members(details) |
||||
if members: |
||||
results.append([compound, members]) |
||||
else: |
||||
if details.match(compound): |
||||
results.append([compound, []]) |
||||
|
||||
return results |
||||
|
||||
supermod.DoxygenType.subclass = DoxygenTypeSub |
||||
# end class DoxygenTypeSub |
||||
|
||||
|
||||
class CompoundTypeSub(supermod.CompoundType): |
||||
def __init__(self, kind=None, refid=None, name='', member=None): |
||||
supermod.CompoundType.__init__(self, kind, refid, name, member) |
||||
|
||||
def find_members(self, details): |
||||
""" |
||||
Returns a list of all members which match details |
||||
""" |
||||
|
||||
results = [] |
||||
|
||||
for member in self.member: |
||||
if details.match(member): |
||||
results.append(member) |
||||
|
||||
return results |
||||
|
||||
supermod.CompoundType.subclass = CompoundTypeSub |
||||
# end class CompoundTypeSub |
||||
|
||||
|
||||
class MemberTypeSub(supermod.MemberType): |
||||
|
||||
def __init__(self, kind=None, refid=None, name=''): |
||||
supermod.MemberType.__init__(self, kind, refid, name) |
||||
|
||||
supermod.MemberType.subclass = MemberTypeSub |
||||
# end class MemberTypeSub |
||||
|
||||
|
||||
def parse(inFilename): |
||||
|
||||
doc = minidom.parse(inFilename) |
||||
rootNode = doc.documentElement |
||||
rootObj = supermod.DoxygenType.factory() |
||||
rootObj.build(rootNode) |
||||
|
||||
return rootObj |
||||
|
@ -0,0 +1,523 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
# |
||||
# Generated Thu Jun 11 18:43:54 2009 by generateDS.py. |
||||
# |
||||
|
||||
import sys |
||||
import getopt |
||||
from string import lower as str_lower |
||||
from xml.dom import minidom |
||||
from xml.dom import Node |
||||
|
||||
# |
||||
# User methods |
||||
# |
||||
# Calls to the methods in these classes are generated by generateDS.py. |
||||
# You can replace these methods by re-implementing the following class |
||||
# in a module named generatedssuper.py. |
||||
|
||||
try: |
||||
from generatedssuper import GeneratedsSuper |
||||
except ImportError, exp: |
||||
|
||||
class GeneratedsSuper: |
||||
def format_string(self, input_data, input_name=''): |
||||
return input_data |
||||
def format_integer(self, input_data, input_name=''): |
||||
return '%d' % input_data |
||||
def format_float(self, input_data, input_name=''): |
||||
return '%f' % input_data |
||||
def format_double(self, input_data, input_name=''): |
||||
return '%e' % input_data |
||||
def format_boolean(self, input_data, input_name=''): |
||||
return '%s' % input_data |
||||
|
||||
|
||||
# |
||||
# If you have installed IPython you can uncomment and use the following. |
||||
# IPython is available from http://ipython.scipy.org/. |
||||
# |
||||
|
||||
## from IPython.Shell import IPShellEmbed |
||||
## args = '' |
||||
## ipshell = IPShellEmbed(args, |
||||
## banner = 'Dropping into IPython', |
||||
## exit_msg = 'Leaving Interpreter, back to program.') |
||||
|
||||
# Then use the following line where and when you want to drop into the |
||||
# IPython shell: |
||||
# ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit') |
||||
|
||||
# |
||||
# Globals |
||||
# |
||||
|
||||
ExternalEncoding = 'ascii' |
||||
|
||||
# |
||||
# Support/utility functions. |
||||
# |
||||
|
||||
def showIndent(outfile, level): |
||||
for idx in range(level): |
||||
outfile.write(' ') |
||||
|
||||
def quote_xml(inStr): |
||||
s1 = (isinstance(inStr, basestring) and inStr or |
||||
'%s |