aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2011-10-22 19:46:02 +0100
committerSimon McVittie <smcv@debian.org>2011-10-22 19:46:02 +0100
commit1e81affead1bf9a960daeb1990a028ac0f1810a5 (patch)
tree645a5ff1466b09654d20233e2fe865f37c67f56f /plugins
parent0bc682c918312adc3137f823b7d09e2d271b7b11 (diff)
downloadikiwiki-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-xplugins/rst14
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",