|
1 | 1 | # -*- coding: utf-8 -*- |
2 | 2 | from appy.bin.odfclean import Cleaner |
3 | | -from appy.pod.lo_pool import LoPool |
4 | 3 | from appy.pod.renderer import Renderer |
5 | 4 | from collective.documentgenerator import _ |
6 | 5 | from collective.documentgenerator import BLDT_DIR |
@@ -238,26 +237,24 @@ def convert_odt(afile, output_name, fmt='pdf', gen_context=None, **kwargs): |
238 | 237 | :param gen_context: generation context dict passed to renderer |
239 | 238 | :param kwargs: other parameters passed to Renderer, i.e pdfOptions='ExportNotes=True;SelectPdfVersion=1' |
240 | 239 | """ |
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 | | - |
249 | 240 | temp_file = create_temporary_file(afile, '.odt') |
250 | | - converted_filename = None |
| 241 | + converted_filename = temporary_file_name(suffix=".{extension}".format(extension=fmt)) |
251 | 242 | try: |
252 | 243 | renderer = Renderer( |
253 | | - temp_file.name, |
| 244 | + temp_file.name, # could be StringIO(afile.data) |
254 | 245 | 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, |
256 | 252 | **kwargs |
257 | 253 | ) |
| 254 | + if "view" in gen_context: |
| 255 | + gen_context["view"]._set_appy_renderer(renderer) |
258 | 256 |
|
259 | | - lo_pool(renderer, temp_file.name, fmt) |
260 | | - converted_filename = temp_file.name.replace('.odt', '.{}'.format(fmt)) |
| 257 | + renderer.run() |
261 | 258 | if not os.path.exists(converted_filename): |
262 | 259 | api.portal.show_message( |
263 | 260 | 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', |
333 | 330 | :param renderer: whether to use appy.pod Renderer or converter script. Default to False. |
334 | 331 | :param gen_context: generation context dict passed to renderer |
335 | 332 | """ |
336 | | - if gen_context is None: |
337 | | - gen_context = {} |
338 | 333 | converted_filename, converted_file = convert_file(afile, output_name, fmt=fmt, gen_context=gen_context, |
339 | 334 | renderer=renderer) |
340 | 335 | file_object = NamedBlobFile(converted_file, filename=safe_unicode(converted_filename)) |
|
0 commit comments