def get_combined_transformation_list(self, *args, **kwargs): """ Return a list of transformation containing the server side staging file transformation as well as tranformations created from the arguments as transient interactive transformation. """ # Convert arguments into transformations transformations = kwargs.get('transformations', []) # Set sensible defaults if the argument is not specified or if the # argument is None width = self.staging_folder.preview_width height = self.staging_folder.preview_height # Generate transformation hash transformation_list = [] # Interactive transformations second for transformation in transformations: transformation_list.append(transformation) if width: transformation_list.append( TransformationResize(width=width, height=height)) return transformation_list
def get_combined_transformation_list(self, user=None, *args, **kwargs): """ Return a list of transformation containing the server side document page transformation as well as tranformations created from the arguments as transient interactive transformation. """ # Convert arguments into transformations transformations = kwargs.get('transformations', []) # Set sensible defaults if the argument is not specified or if the # argument is None width = kwargs.get('width', setting_display_width.value) or setting_display_width.value height = kwargs.get('height', setting_display_height.value) or setting_display_height.value rotation = kwargs.get('rotation', DEFAULT_ROTATION) or DEFAULT_ROTATION zoom_level = kwargs.get('zoom', DEFAULT_ZOOM_LEVEL) or DEFAULT_ZOOM_LEVEL if zoom_level < setting_zoom_min_level.value: zoom_level = setting_zoom_min_level.value if zoom_level > setting_zoom_max_level.value: zoom_level = setting_zoom_max_level.value # Generate transformation hash transformation_list = [] maximum_layer_order = kwargs.get('maximum_layer_order', None) # Stored transformations first for stored_transformation in LayerTransformation.objects.get_for_object( self, maximum_layer_order=maximum_layer_order, as_classes=True, user=user ): transformation_list.append(stored_transformation) # Interactive transformations second for transformation in transformations: transformation_list.append(transformation) if rotation: transformation_list.append( TransformationRotate(degrees=rotation) ) if width: transformation_list.append( TransformationResize(width=width, height=height) ) if zoom_level: transformation_list.append(TransformationZoom(percent=zoom_level)) return transformation_list