[Checkins] SVN: zope.introspectorui/trunk/src/zope/introspectorui/util.py Add a doc format detection.

Uli Fouquet uli at gnufix.de
Mon Aug 11 09:54:03 EDT 2008


Log message for revision 89648:
  Add a doc format detection.

Changed:
  U   zope.introspectorui/trunk/src/zope/introspectorui/util.py

-=-
Modified: zope.introspectorui/trunk/src/zope/introspectorui/util.py
===================================================================
--- zope.introspectorui/trunk/src/zope/introspectorui/util.py	2008-08-11 12:50:24 UTC (rev 89647)
+++ zope.introspectorui/trunk/src/zope/introspectorui/util.py	2008-08-11 13:54:03 UTC (rev 89648)
@@ -13,10 +13,18 @@
 ##############################################################################
 """Helpers for the zope.introspectorui.
 """
+import re
 import grokcore.component as grok
 from zope.introspectorui.interfaces import IBreadcrumbProvider, ICodeView
 from zope.introspector.code import Code, Package
 
+_format_dict = {
+    'plaintext': 'zope.source.plaintext',
+    'structuredtext': 'zope.source.stx',
+    'restructuredtext': 'zope.source.rest'
+    }
+
+
 class CodeBreadcrumbProvider(grok.Adapter):
     """An adapter, that adapts 'ICodeView' objects, i.e. all views
     defined in the ``code`` module.
@@ -40,3 +48,11 @@
         result = ['<a href="%s">%s</a>' % (self.context.url(x), x.__name__)
                   for x in parts]
         return '.'.join(result)
+
+def get_doc_format(module):
+    """Convert a module's __docformat__ specification to a renderer source
+    id"""
+    format = getattr(module, '__docformat__', 'plaintext').lower()
+    # The format can also contain the language, so just get the first part
+    format = format.split(' ')[0]
+    return _format_dict.get(format, 'zope.source.plaintext')



More information about the Checkins mailing list