Skip to content

Commit 68a05b0

Browse files
committed
Used renderer.run
1 parent ee49b03 commit 68a05b0

File tree

1 file changed

+11
-16
lines changed
  • src/collective/documentgenerator

1 file changed

+11
-16
lines changed

src/collective/documentgenerator/utils.py

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# -*- coding: utf-8 -*-
22
from appy.bin.odfclean import Cleaner
3-
from appy.pod.lo_pool import LoPool
43
from appy.pod.renderer import Renderer
54
from collective.documentgenerator import _
65
from collective.documentgenerator import BLDT_DIR
@@ -238,26 +237,24 @@ def convert_odt(afile, output_name, fmt='pdf', gen_context=None, **kwargs):
238237
:param gen_context: generation context dict passed to renderer
239238
:param kwargs: other parameters passed to Renderer, i.e pdfOptions='ExportNotes=True;SelectPdfVersion=1'
240239
"""
241-
lo_pool = LoPool.get(
242-
python=config.get_uno_path(),
243-
server=config.get_oo_server(),
244-
port=config.get_oo_port_list(),
245-
)
246-
if not lo_pool:
247-
raise Exception("Could not find LibreOffice, check your configuration")
248-
249240
temp_file = create_temporary_file(afile, '.odt')
250-
converted_filename = None
241+
converted_filename = temporary_file_name(suffix=".{extension}".format(extension=fmt))
251242
try:
252243
renderer = Renderer(
253-
temp_file.name,
244+
temp_file.name, # could be StringIO(afile.data)
254245
gen_context or {},
255-
temporary_file_name(suffix=".{extension}".format(extension=fmt)),
246+
converted_filename,
247+
pythonWithUnoPath=config.get_uno_path(),
248+
ooServer=config.get_oo_server(),
249+
ooPort=config.get_oo_port_list(),
250+
raiseOnError=True,
251+
forceOoCall=True,
256252
**kwargs
257253
)
254+
if "view" in gen_context:
255+
gen_context["view"]._set_appy_renderer(renderer)
258256

259-
lo_pool(renderer, temp_file.name, fmt)
260-
converted_filename = temp_file.name.replace('.odt', '.{}'.format(fmt))
257+
renderer.run()
261258
if not os.path.exists(converted_filename):
262259
api.portal.show_message(
263260
message=_(u"Conversion failed, no converted file '{}'".format(safe_unicode(output_name))),
@@ -333,8 +330,6 @@ def convert_and_save_file(afile, container, portal_type, output_name, fmt='pdf',
333330
:param renderer: whether to use appy.pod Renderer or converter script. Default to False.
334331
:param gen_context: generation context dict passed to renderer
335332
"""
336-
if gen_context is None:
337-
gen_context = {}
338333
converted_filename, converted_file = convert_file(afile, output_name, fmt=fmt, gen_context=gen_context,
339334
renderer=renderer)
340335
file_object = NamedBlobFile(converted_file, filename=safe_unicode(converted_filename))

0 commit comments

Comments
 (0)