diff options
author | Johnathan Corgan | 2012-04-07 19:32:10 -0700 |
---|---|---|
committer | Johnathan Corgan | 2012-04-07 19:32:10 -0700 |
commit | 9bef26c9271a7b9253075bda3c1fc7c8078c0343 (patch) | |
tree | a6c1329bb902c95c8ab9970f38ec5fb46d79167c /gr-howto-write-a-block/docs/doxygen/doxyxml/text.py | |
parent | f621a52f779381cfe550b4278b83e701a747944c (diff) | |
parent | ef72dc714840dfb8fe3f918dda243f74453b6cc7 (diff) | |
download | gnuradio-9bef26c9271a7b9253075bda3c1fc7c8078c0343.tar.gz gnuradio-9bef26c9271a7b9253075bda3c1fc7c8078c0343.tar.bz2 gnuradio-9bef26c9271a7b9253075bda3c1fc7c8078c0343.zip |
Merge branch 'next'
Diffstat (limited to 'gr-howto-write-a-block/docs/doxygen/doxyxml/text.py')
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/text.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/text.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/text.py new file mode 100644 index 000000000..ddf2c36e2 --- /dev/null +++ b/gr-howto-write-a-block/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 |