Skip to content

Commit

Permalink
handle unoconv renderer's delayed file_required
Browse files Browse the repository at this point in the history
 * unoconv's renderer proxies its file_required property to its
   subrenderer's file_required.  The subrenderer isn't constructed until
   the end of __init__.  Special case file_required, since the base
   implementation works for all the other renderers.
  • Loading branch information
felliott committed Aug 23, 2016
1 parent 1b0dfc9 commit 3304737
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
8 changes: 7 additions & 1 deletion mfr/core/extension.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,18 @@ def __init__(self, metadata, file_path, url, assets_url, export_url):
'url': self.url,
'export_url': self.export_url,
'file_path': self.file_path,
'file_required': self.file_required,
'cache_result': self.cache_result,
# 'error': 'error_t',
# 'elapsed': 'elpased_t',
})

# unoconv gets file_required from its subrenderer, which is constructed at the end of
# __init__.
try:
self.renderer_metrics.add('file_required', self.file_required)
except AttributeError:
pass

@abc.abstractmethod
def render(self):
pass
Expand Down
2 changes: 2 additions & 0 deletions mfr/extensions/unoconv/render.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ def __init__(self, metadata, file_path, url, assets_url, export_url):
export_url
)

# can't call file_required until renderer is built
self.renderer_metrics.add('file_required', self.file_required)
self.metrics.merge({
'map': {
'renderer': self.map['renderer'],
Expand Down

0 comments on commit 3304737

Please sign in to comment.