summaryrefslogtreecommitdiff
path: root/grc/python/extract_docs.py
diff options
context:
space:
mode:
Diffstat (limited to 'grc/python/extract_docs.py')
-rw-r--r--grc/python/extract_docs.py94
1 files changed, 47 insertions, 47 deletions
diff --git a/grc/python/extract_docs.py b/grc/python/extract_docs.py
index 1d1c738dcc..b3b87e64ca 100644
--- a/grc/python/extract_docs.py
+++ b/grc/python/extract_docs.py
@@ -20,55 +20,55 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
import re
def _extract(key):
- """
- Extract the documentation from the python __doc__ strings.
- If multiple modules match, combine the docs.
-
- Args:
- key: the block key
-
- Returns:
- a string with documentation
- """
- #extract matches
- try:
- module_name, constructor_name = key.split('_', 1)
- module = __import__('gnuradio.'+module_name)
- module = getattr(module, module_name)
- except ImportError:
- try:
- module_name, constructor_name = key.split('_', 1)
- module = __import__(module_name)
- except: return ''
- except:
- return ''
- pattern = constructor_name.replace('_', '_*').replace('x', '\w')
- pattern_matcher = re.compile('^%s\w*$'%pattern)
- matches = filter(lambda x: pattern_matcher.match(x), dir(module))
- #combine all matches
- doc_strs = list()
- for match in matches:
- try:
- title = ' --- ' + match + ' --- '
- doc_strs.append('\n\n'.join([title, getattr(module, match).__doc__]).strip())
- except: pass
- return '\n\n'.join(doc_strs)
+ """
+ Extract the documentation from the python __doc__ strings.
+ If multiple modules match, combine the docs.
+
+ Args:
+ key: the block key
+
+ Returns:
+ a string with documentation
+ """
+ #extract matches
+ try:
+ module_name, constructor_name = key.split('_', 1)
+ module = __import__('gnuradio.'+module_name)
+ module = getattr(module, module_name)
+ except ImportError:
+ try:
+ module_name, constructor_name = key.split('_', 1)
+ module = __import__(module_name)
+ except: return ''
+ except:
+ return ''
+ pattern = constructor_name.replace('_', '_*').replace('x', '\w')
+ pattern_matcher = re.compile('^%s\w*$'%pattern)
+ matches = filter(lambda x: pattern_matcher.match(x), dir(module))
+ #combine all matches
+ doc_strs = list()
+ for match in matches:
+ try:
+ title = ' --- ' + match + ' --- '
+ doc_strs.append('\n\n'.join([title, getattr(module, match).__doc__]).strip())
+ except: pass
+ return '\n\n'.join(doc_strs)
_docs_cache = dict()
def extract(key):
- """
- Call the private extract and cache the result.
-
- Args:
- key: the block key
-
- Returns:
- a string with documentation
- """
- if not _docs_cache.has_key(key):
- _docs_cache[key] = _extract(key)
- return _docs_cache[key]
+ """
+ Call the private extract and cache the result.
+
+ Args:
+ key: the block key
+
+ Returns:
+ a string with documentation
+ """
+ if not _docs_cache.has_key(key):
+ _docs_cache[key] = _extract(key)
+ return _docs_cache[key]
if __name__ == '__main__':
- import sys
- print extract(sys.argv[1])
+ import sys
+ print extract(sys.argv[1])