|  | @@ -10,9 +10,6 @@ from cgi import FieldStorage
 | 
	
		
			
			| 10 | 10 |  from depot.manager import DepotManager
 | 
	
		
			
			| 11 | 11 |  from preview_generator.exception import PreviewGeneratorException
 | 
	
		
			
			| 12 | 12 |  from preview_generator.manager import PreviewManager
 | 
	
		
			
			| 13 |  | -from preview_generator.preview.builder.office__libreoffice import OfficePreviewBuilderLibreoffice
 | 
	
		
			
			| 14 |  | -from preview_generator.preview.builder.pdf__pypdf2 import PdfPreviewBuilderPyPDF2
 | 
	
		
			
			| 15 |  | -from preview_generator.preview.builder.plain_text import PlainTextPreviewBuilder
 | 
	
		
			
			| 16 | 13 |  from sqlalchemy.orm.exc import NoResultFound
 | 
	
		
			
			| 17 | 14 |  import tg
 | 
	
		
			
			| 18 | 15 |  from tg import abort
 | 
	
	
		
			
			|  | @@ -221,11 +218,15 @@ class UserWorkspaceFolderFileRestController(TIMWorkspaceContentRestController):
 | 
	
		
			
			| 221 | 218 |              revision_id = file.revision_id
 | 
	
		
			
			| 222 | 219 |  
 | 
	
		
			
			| 223 | 220 |          file_path = content_api.get_one_revision_filepath(revision_id)
 | 
	
		
			
			|  | 221 | +
 | 
	
		
			
			| 224 | 222 |          nb_page = 0
 | 
	
		
			
			| 225 | 223 |          try:
 | 
	
		
			
			| 226 | 224 |              nb_page = preview_manager.get_page_nb(file_path=file_path)
 | 
	
		
			
			| 227 |  | -        except PreviewGeneratorException:
 | 
	
		
			
			| 228 |  | -            pass
 | 
	
		
			
			|  | 225 | +        except PreviewGeneratorException as e:
 | 
	
		
			
			|  | 226 | +            logger.debug(self, 'Exception: {}'.format(e.__str__))
 | 
	
		
			
			|  | 227 | +            msg_str = _('Sorry... No preview for {}: {}')  # type: str
 | 
	
		
			
			|  | 228 | +            msg = msg_str.format(file.file_name, str(e))  # type: str
 | 
	
		
			
			|  | 229 | +            tg.flash(msg, CST.STATUS_ERROR)
 | 
	
		
			
			| 229 | 230 |          preview_urls = []
 | 
	
		
			
			| 230 | 231 |          for page in range(int(nb_page)):
 | 
	
		
			
			| 231 | 232 |              url_str = '/previews/{}/pages/{}?revision_id={}'
 | 
	
	
		
			
			|  | @@ -234,14 +235,18 @@ class UserWorkspaceFolderFileRestController(TIMWorkspaceContentRestController):
 | 
	
		
			
			| 234 | 235 |                                   revision_id)
 | 
	
		
			
			| 235 | 236 |              preview_urls.append(url)
 | 
	
		
			
			| 236 | 237 |  
 | 
	
		
			
			| 237 |  | -        pdf_ready_mimetypes = []  # type: List[str]
 | 
	
		
			
			| 238 |  | -        pdf_ready_mimetypes = \
 | 
	
		
			
			| 239 |  | -            OfficePreviewBuilderLibreoffice.get_supported_mimetypes() + \
 | 
	
		
			
			| 240 |  | -            PdfPreviewBuilderPyPDF2.get_supported_mimetypes() + \
 | 
	
		
			
			| 241 |  | -            PlainTextPreviewBuilder.get_supported_mimetypes()
 | 
	
		
			
			| 242 |  | -        enable_pdf_buttons = \
 | 
	
		
			
			| 243 |  | -            file.file_mimetype in pdf_ready_mimetypes  # type: bool
 | 
	
		
			
			| 244 |  | -        pdf_available = str(enable_pdf_buttons).lower()  # type: str
 | 
	
		
			
			|  | 238 | +        pdf_available = 'false'  # type: str
 | 
	
		
			
			|  | 239 | +        try:
 | 
	
		
			
			|  | 240 | +            enable_pdf_buttons = \
 | 
	
		
			
			|  | 241 | +                preview_manager.has_pdf_preview(
 | 
	
		
			
			|  | 242 | +                    file_path=file_path,
 | 
	
		
			
			|  | 243 | +                )  # type: bool
 | 
	
		
			
			|  | 244 | +            pdf_available = str(enable_pdf_buttons).lower()
 | 
	
		
			
			|  | 245 | +        except PreviewGeneratorException as e:
 | 
	
		
			
			|  | 246 | +            logger.debug(self, 'Exception: {}'.format(e.__str__))
 | 
	
		
			
			|  | 247 | +            msg_str = _('Sorry... No PDF downloads for {}: {}')  # type: str
 | 
	
		
			
			|  | 248 | +            msg = msg_str.format(file.file_name, str(e))  # type: str
 | 
	
		
			
			|  | 249 | +            tg.flash(msg, CST.STATUS_ERROR)
 | 
	
		
			
			| 245 | 250 |  
 | 
	
		
			
			| 246 | 251 |          fake_api_breadcrumb = self.get_breadcrumb(file_id)
 | 
	
		
			
			| 247 | 252 |          fake_api_content = DictLikeClass(breadcrumb=fake_api_breadcrumb,
 |