[Checkins] SVN: zope.introspectorui/trunk/src/zope/introspectorui/util.py Add docstring sanitizer from zope.app.apidoc.

Uli Fouquet uli at gnufix.de
Mon Aug 11 10:04:29 EDT 2008


Log message for revision 89651:
  Add docstring sanitizer from zope.app.apidoc.

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 13:58:08 UTC (rev 89650)
+++ zope.introspectorui/trunk/src/zope/introspectorui/util.py	2008-08-11 14:04:28 UTC (rev 89651)
@@ -24,6 +24,7 @@
     'restructuredtext': 'zope.source.rest'
     }
 
+space_re = re.compile('\n^( *)\S', re.M)
 
 class CodeBreadcrumbProvider(grok.Adapter):
     """An adapter, that adapts 'ICodeView' objects, i.e. all views
@@ -56,3 +57,8 @@
     # 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')
+
+def dedent_string(text):
+    """Dedent the docstring, so that docutils can correctly render it."""
+    dedent = min([len(match) for match in space_re.findall(text)] or [0])
+    return re.compile('\n {%i}' % dedent, re.M).sub('\n', text)



More information about the Checkins mailing list