Make sure transformation arguments are always valid.

This commit is contained in:
Roberto Rosario
2016-11-03 15:34:32 -04:00
parent 6fbbc7bacb
commit 2cdee10d50
3 changed files with 8 additions and 10 deletions

View File

@@ -247,8 +247,8 @@ class APIDocumentPageImageView(generics.RetrieveAPIView):
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
size = request.GET.get('size') size = request.GET.get('size')
zoom = request.GET.get('zoom') zoom = int(request.GET.get('zoom'))
rotation = request.GET.get('rotation') rotation = int(request.GET.get('rotation'))
task = task_generate_document_page_image.apply_async( task = task_generate_document_page_image.apply_async(
kwargs=dict( kwargs=dict(

View File

@@ -680,12 +680,10 @@ class DocumentPage(models.Model):
# Convert arguments into transformations # Convert arguments into transformations
transformations = kwargs.get('transformations', []) transformations = kwargs.get('transformations', [])
size = kwargs.get('size', setting_display_size.value) size = kwargs.get('size', setting_display_size.value)
rotation = int(
kwargs.get('rotation', DEFAULT_ROTATION) or DEFAULT_ROTATION rotation = kwargs.get('rotation', DEFAULT_ROTATION)
) % 360
zoom_level = int( zoom_level = kwargs.get('zoom', DEFAULT_ZOOM_LEVEL)
kwargs.get('zoom', DEFAULT_ZOOM_LEVEL) or DEFAULT_ZOOM_LEVEL
)
if zoom_level < setting_zoom_min_level.value: if zoom_level < setting_zoom_min_level.value:
zoom_level = setting_zoom_min_level.value zoom_level = setting_zoom_min_level.value

View File

@@ -98,8 +98,8 @@ def document_html_widget(document_page, click_view=None, click_view_arguments=No
document = document_page.document document = document_page.document
query_dict = { query_dict = {
'zoom': zoom, 'zoom': zoom or DEFAULT_ZOOM_LEVEL,
'rotation': rotation, 'rotation': rotation or DEFAULT_ROTATION,
'size': size, 'size': size,
'page': document_page.page_number 'page': document_page.page_number
} }