File tree Expand file tree Collapse file tree 6 files changed +29
-14
lines changed
Expand file tree Collapse file tree 6 files changed +29
-14
lines changed Original file line number Diff line number Diff line change 22ChangeLog
33*********
44
5+ 0.25.4 (2018-04-06)
6+ ===================
7+ - Fix: When no exporter exists for the given extension, throw the "No supported exporter" error,
8+ instead of the non-specific "Please try again later" error. This fixes a regression introduced
9+ in v0.25.0.
10+
5110.25.3 (2018-04-03)
612===================
713- Fix: Add a subprocess timeout to the unoconv exporter so MFR doesn't wait forever for a process
Original file line number Diff line number Diff line change @@ -112,12 +112,11 @@ def get_renderer_name(name: str) -> str:
112112 ep_iterator = pkg_resources .iter_entry_points (group = 'mfr.renderers' , name = name .lower ())
113113 ep_list = list (ep_iterator )
114114
115- # Empty list indicates unsupported file type.
116- # Return a blank string and let `make_renderer()` handle it.
115+ # Empty list indicates unsupported file type. Return '' and let `make_renderer()` handle it.
117116 if len (ep_list ) == 0 :
118117 return ''
119118
120- # If file type is supported, there must be only one element in the list.
119+ # If the file type is supported, there must be only one element in the list.
121120 assert len (ep_list ) == 1
122121 return ep_list [0 ].attrs [0 ]
123122
@@ -135,7 +134,11 @@ def get_exporter_name(name: str) -> str:
135134 ep_iterator = pkg_resources .iter_entry_points (group = 'mfr.exporters' , name = name .lower ())
136135 ep_list = list (ep_iterator )
137136
138- # `make_renderer()` is called before `make_exporter()` to ensure the file type is supported
137+ # Empty list indicates unsupported export type. Return '' and let `make_exporter()` handle it.
138+ if len (ep_list ) == 0 :
139+ return ''
140+
141+ # If the export type is supported, there must be only one element in the list.
139142 assert len (ep_list ) == 1
140143 return ep_list [0 ].attrs [0 ]
141144
Original file line number Diff line number Diff line change @@ -33,9 +33,12 @@ async def prepare(self):
3333
3434 self .cache_file_id = '{}.{}' .format (self .metadata .unique_key , self .format )
3535
36- self .cache_file_path = await self .cache_provider .validate_path (
37- '/export/{}.{}' .format (self .cache_file_id , self .exporter_name )
38- )
36+ if self .exporter_name :
37+ cache_file_path_str = '/export/{}.{}' .format (self .cache_file_id , self .exporter_name )
38+ else :
39+ cache_file_path_str = '/export/{}' .format (self .cache_file_id )
40+ self .cache_file_path = await self .cache_provider .validate_path (cache_file_path_str )
41+
3942 self .source_file_path = await self .local_cache_provider .validate_path (
4043 '/export/{}' .format (self .source_file_id )
4144 )
Original file line number Diff line number Diff line change @@ -27,9 +27,13 @@ async def prepare(self):
2727 self .renderer_name = utils .get_renderer_name (self .metadata .ext )
2828
2929 self .cache_file_id = self .metadata .unique_key
30- self .cache_file_path = await self .cache_provider .validate_path (
31- '/render/{}.{}' .format (self .cache_file_id , self .renderer_name )
32- )
30+
31+ if self .renderer_name :
32+ cache_file_path_str = '/export/{}.{}' .format (self .cache_file_id , self .renderer_name )
33+ else :
34+ cache_file_path_str = '/export/{}' .format (self .cache_file_id )
35+ self .cache_file_path = await self .cache_provider .validate_path (cache_file_path_str )
36+
3337 self .source_file_path = await self .local_cache_provider .validate_path (
3438 '/render/{}' .format (self .source_file_id )
3539 )
Original file line number Diff line number Diff line change 1- __version__ = '0.25.3 '
1+ __version__ = '0.25.4 '
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ def test_get_renderer_name(self):
2020 assert mfr_utils .get_renderer_name (ep .name ) == expected
2121
2222 def test_get_renderer_name_no_entry_point (self ):
23- assert mfr_utils .get_renderer_name ('jpg' ) == ''
23+ assert mfr_utils .get_renderer_name ('jpg' ) == '' # extensions must begin with a period
2424
2525
2626class TestGetExporterName :
@@ -36,5 +36,4 @@ def test_get_exporter_name(self):
3636 assert mfr_utils .get_exporter_name (ep .name ) == expected
3737
3838 def test_get_exporter_name_no_entry_point (self ):
39- with pytest .raises (AssertionError ):
40- mfr_utils .get_exporter_name ('jpg' )
39+ assert mfr_utils .get_exporter_name ('jpg' ) == '' # extensions must begin with a period
You can’t perform that action at this time.
0 commit comments