You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.4 KiB
82 lines
2.4 KiB
# |
|
# 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() |
|
|
|
|