diff options
author | Simon McVittie <smcv@debian.org> | 2011-10-22 19:46:02 +0100 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2011-10-22 19:46:02 +0100 |
commit | 1e81affead1bf9a960daeb1990a028ac0f1810a5 (patch) | |
tree | 645a5ff1466b09654d20233e2fe865f37c67f56f /plugins | |
parent | 0bc682c918312adc3137f823b7d09e2d271b7b11 (diff) | |
download | ikiwiki-1e81affead1bf9a960daeb1990a028ac0f1810a5.tar ikiwiki-1e81affead1bf9a960daeb1990a028ac0f1810a5.tar.gz |
rst: import docutils lazily, to avoid errors during ikiwiki --setup
Bug-Debian: http://bugs.debian.org/637604
Signed-off-by: Simon McVittie <smcv@debian.org>
Diffstat (limited to 'plugins')
-rwxr-xr-x | plugins/rst | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/plugins/rst b/plugins/rst index fb36245de..0fe91c58b 100755 --- a/plugins/rst +++ b/plugins/rst @@ -36,10 +36,22 @@ __author__ = 'martin f. krafft <madduck@madduck.net>' __copyright__ = 'Copyright © ' + __author__ __licence__ = 'BSD-2-clause' -from docutils.core import publish_parts; from proxy import IkiWikiProcedureProxy +publish_parts = None + def rst2html(proxy, *args): + # delayed import so docutils is only needed if you *use* rst - + # http://bugs.debian.org/637604 + global publish_parts + if publish_parts is None: + try: + from docutils.core import publish_parts + except ImportError, e: + proxy.error('cannot import docutils.core: %s: %s' % + (e.__class__.__name__, e)) + raise + kwargs = _to_dict(args) parts = publish_parts(kwargs["content"], writer_name="html", |