[Zope-dev] small manuel bugfix
Chris McDonough
chrism at plope.com
Fri Dec 25 21:37:21 EST 2009
I added a branch of manuel to the Zope SVN that fixes the codeblock plugin when
you use codeblock "roles" such as:
.. code-block:: python
:linenos:
Currently it only works without roles, e.g.:
.. code-block:: python
The branch is at
svn+ssh://svn.zope.org/repos/main/manuel/branches/chrism-codeblocks
The diff against the current head is as follows:
[chrism at snowpro manuel]$ svn diff
===================================================================
--- src/manuel/codeblock.py (.../branches/chrism-codeblocks) (revision 107071)
+++ src/manuel/codeblock.py (.../trunk) (revision 107071)
@@ -2,9 +2,7 @@
import manuel
import textwrap
-CODEBLOCK_START = re.compile(
- r'(^\.\.\s*(invisible-)?code-block::?\s*python\b(?:\s*\:\w+\:)*)',
- re.MULTILINE)
+CODEBLOCK_START = re.compile(r'^\.\.\s*(invisible-)?code-block::?\s*python\b',
re.MULTILINE)
CODEBLOCK_END = re.compile(r'(\n\Z|\n(?=\S))')
@@ -15,8 +13,7 @@
def find_code_blocks(document):
for region in document.find_regions(CODEBLOCK_START, CODEBLOCK_END):
- start_end = CODEBLOCK_START.search(region.source).end()
- source = textwrap.dedent(region.source[start_end:])
+ source = textwrap.dedent('\n'.join(region.source.splitlines()[1:]))
source_location = '%s:%d' % (document.location, region.lineno)
code = compile(source, source_location, 'exec', 0, True)
document.claim_region(region)
I submit it for Benji's consideration.
More information about the Zope-Dev
mailing list