[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