|
@@ 294-329 (lines=36) @@
|
| 291 |
|
as_attachment=hapic_data.query.force_download |
| 292 |
|
) |
| 293 |
|
|
| 294 |
|
@hapic.with_api_doc(tags=[SWAGGER_TAG__FILE_ENDPOINTS]) |
| 295 |
|
@require_workspace_role(UserRoleInWorkspace.READER) |
| 296 |
|
@require_content_types([FILE_TYPE]) |
| 297 |
|
@hapic.handle_exception(TracimUnavailablePreviewType, HTTPStatus.BAD_REQUEST) |
| 298 |
|
@hapic.handle_exception(UnavailablePreview, HTTPStatus.BAD_REQUEST) |
| 299 |
|
@hapic.input_path(WorkspaceAndContentRevisionIdPathSchema()) |
| 300 |
|
@hapic.input_query(FileQuerySchema()) |
| 301 |
|
@hapic.output_file([]) |
| 302 |
|
def preview_pdf_full_revision(self, context, request: TracimRequest, hapic_data=None): # nopep8 |
| 303 |
|
""" |
| 304 |
|
Obtain full pdf preview of a specific revision of content. |
| 305 |
|
""" |
| 306 |
|
app_config = request.registry.settings['CFG'] |
| 307 |
|
api = ContentApi( |
| 308 |
|
show_archived=True, |
| 309 |
|
show_deleted=True, |
| 310 |
|
current_user=request.current_user, |
| 311 |
|
session=request.dbsession, |
| 312 |
|
config=app_config, |
| 313 |
|
) |
| 314 |
|
content = api.get_one( |
| 315 |
|
hapic_data.path.content_id, |
| 316 |
|
content_type=CONTENT_TYPES.Any_SLUG |
| 317 |
|
) |
| 318 |
|
revision = api.get_one_revision( |
| 319 |
|
revision_id=hapic_data.path.revision_id, |
| 320 |
|
content=content |
| 321 |
|
) |
| 322 |
|
pdf_preview_path = api.get_full_pdf_preview_path( |
| 323 |
|
revision.revision_id, |
| 324 |
|
) |
| 325 |
|
filename = "{label}.pdf".format(label=revision.label) |
| 326 |
|
return HapicFile( |
| 327 |
|
file_path=pdf_preview_path, |
| 328 |
|
filename=filename, |
| 329 |
|
as_attachment=hapic_data.query.force_download |
| 330 |
|
) |
| 331 |
|
|
| 332 |
|
@hapic.with_api_doc(tags=[SWAGGER_TAG__FILE_ENDPOINTS]) |
|
@@ 262-291 (lines=30) @@
|
| 259 |
|
as_attachment=hapic_data.query.force_download |
| 260 |
|
) |
| 261 |
|
|
| 262 |
|
@hapic.with_api_doc(tags=[SWAGGER_TAG__FILE_ENDPOINTS]) |
| 263 |
|
@require_workspace_role(UserRoleInWorkspace.READER) |
| 264 |
|
@require_content_types([FILE_TYPE]) |
| 265 |
|
@hapic.handle_exception(TracimUnavailablePreviewType, HTTPStatus.BAD_REQUEST) |
| 266 |
|
@hapic.handle_exception(UnavailablePreview, HTTPStatus.BAD_REQUEST) |
| 267 |
|
@hapic.input_query(FileQuerySchema()) |
| 268 |
|
@hapic.input_path(WorkspaceAndContentIdPathSchema()) |
| 269 |
|
@hapic.output_file([]) |
| 270 |
|
def preview_pdf_full(self, context, request: TracimRequest, hapic_data=None): # nopep8 |
| 271 |
|
""" |
| 272 |
|
Obtain a full pdf preview (all page) of last revision of content. |
| 273 |
|
""" |
| 274 |
|
app_config = request.registry.settings['CFG'] |
| 275 |
|
api = ContentApi( |
| 276 |
|
show_archived=True, |
| 277 |
|
show_deleted=True, |
| 278 |
|
current_user=request.current_user, |
| 279 |
|
session=request.dbsession, |
| 280 |
|
config=app_config, |
| 281 |
|
) |
| 282 |
|
content = api.get_one( |
| 283 |
|
hapic_data.path.content_id, |
| 284 |
|
content_type=CONTENT_TYPES.Any_SLUG |
| 285 |
|
) |
| 286 |
|
pdf_preview_path = api.get_full_pdf_preview_path(content.revision_id) |
| 287 |
|
filename = "{label}.pdf".format(label=content.label) |
| 288 |
|
return HapicFile( |
| 289 |
|
file_path=pdf_preview_path, |
| 290 |
|
filename=filename, |
| 291 |
|
as_attachment=hapic_data.query.force_download |
| 292 |
|
) |
| 293 |
|
|
| 294 |
|
@hapic.with_api_doc(tags=[SWAGGER_TAG__FILE_ENDPOINTS]) |