summaryrefslogtreecommitdiff
path: root/docs/doxygen/doxyxml/text.py
diff options
context:
space:
mode:
authorTom Rondeau2011-12-04 11:19:37 -0500
committerTom Rondeau2011-12-04 11:19:37 -0500
commit7209280a2b21fb31e5533a17047ed8c6ba5527f1 (patch)
treef3ef58059fa9a55be67230ad1949d57ab2c1a4b8 /docs/doxygen/doxyxml/text.py
parent5c1576570e156633c9531932baa79fda9ff9a573 (diff)
parentf536b394f20ef88b426bf4bb6e9b69f6efb9847e (diff)
downloadgnuradio-7209280a2b21fb31e5533a17047ed8c6ba5527f1.tar.gz
gnuradio-7209280a2b21fb31e5533a17047ed8c6ba5527f1.tar.bz2
gnuradio-7209280a2b21fb31e5533a17047ed8c6ba5527f1.zip
Merge branch 'more_swigness_docs'
Diffstat (limited to 'docs/doxygen/doxyxml/text.py')
-rw-r--r--docs/doxygen/doxyxml/text.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/doxygen/doxyxml/text.py b/docs/doxygen/doxyxml/text.py
new file mode 100644
index 000000000..ddf2c36e2
--- /dev/null
+++ b/docs/doxygen/doxyxml/text.py
@@ -0,0 +1,56 @@
+#
+# 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.
+#
+"""
+Utilities for extracting text from generated classes.
+"""
+
+def is_string(txt):
+ if isinstance(txt, str):
+ return True
+ try:
+ if isinstance(txt, unicode):
+ return True
+ except NameError:
+ pass
+ return False
+
+def description(obj):
+ if obj is None:
+ return None
+ return description_bit(obj).strip()
+
+def description_bit(obj):
+ if hasattr(obj, 'content'):
+ contents = [description_bit(item) for item in obj.content]
+ result = ''.join(contents)
+ elif hasattr(obj, 'content_'):
+ contents = [description_bit(item) for item in obj.content_]
+ result = ''.join(contents)
+ elif hasattr(obj, 'value'):
+ result = description_bit(obj.value)
+ elif is_string(obj):
+ return obj
+ else:
+ raise StandardError('Expecting a string or something with content, content_ or value attribute')
+ # If this bit is a paragraph then add one some line breaks.
+ if hasattr(obj, 'name') and obj.name == 'para':
+ result += "\n\n"
+ return result