lossless_jpeg

class actions.lossless_jpeg.Action(**options)

Bases: actions.lossless_jpeg.LossLessSaveUtilityMixin, core.models.Action

Rotate, flip, grayscale and crop

init()
class actions.lossless_jpeg.Arguments

Bases: list

List with tweaked append behaviour to make it suitable for command line arguments.

append(*options)
class actions.lossless_jpeg.Exiftran

Bases: object

get_command_line(action, photo, input, output)
get_command_line_args(action, photo)
get_relevant_field_labels(action)
interface(action, fields)
class actions.lossless_jpeg.Jpegtran

Bases: core.models.CropMixin

get_command_line(action, photo, input, output)
get_command_line_args(action, photo)
get_relevant_field_labels(action)
interface(action, fields)
class actions.lossless_jpeg.LossLessSaveUtilityMixin

Bases: core.models.LosslessSaveMixin, actions.lossless_jpeg.UtilityMixin

For lossless JPEG operations, this has to work on the source jpeg files immediately, otherwise it makes no sense. So we need to overwrite the call method.

call(photo, info, utility)
This is called by the apply method.
get_relevant_field_labels()
This should work like a save action. So it needs a filename and folder, while the file type is fixed (e.g. JPEG).
class actions.lossless_jpeg.UtilityMixin

Bases: object

apply(photo, setting, cache)
call(photo, info, utility)
This is decoupled from the apply method so we can overwrite it.
get_relevant_field_labels(relevant=None)
interface(fields)
actions.lossless_jpeg.utilities_dict(*utilities)

Previous topic

invert

Next topic

mask