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>
master
Simon McVittie 2011-10-22 19:46:02 +01:00
parent 0bc682c918
commit 1e81affead
1 changed files with 13 additions and 1 deletions

View File

@ -36,10 +36,22 @@ __author__ = 'martin f. krafft <madduck@madduck.net>'
__copyright__ = 'Copyright © ' + __author__ __copyright__ = 'Copyright © ' + __author__
__licence__ = 'BSD-2-clause' __licence__ = 'BSD-2-clause'
from docutils.core import publish_parts;
from proxy import IkiWikiProcedureProxy from proxy import IkiWikiProcedureProxy
publish_parts = None
def rst2html(proxy, *args): 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) kwargs = _to_dict(args)
parts = publish_parts(kwargs["content"], parts = publish_parts(kwargs["content"],
writer_name="html", writer_name="html",