- medium_filepath = resize_image(entry, queued_filename, basename,
- '.medium' + extension, exif_tags,
- conversions_subdir, MEDIUM_SIZE, MEDIUM_SIZE)
-
- # we have to re-read because unlike PIL, not everything reads
- # things in string representation :)
- queued_file = file(queued_filename, 'rb')
-
- with queued_file:
- #create_pub_filepath(entry, queued_filepath[-1])
- original_filepath = create_pub_filepath(entry, basename + extension)
-
- with mgg.public_store.get_file(original_filepath, 'wb') \
- as original_file:
- original_file.write(queued_file.read())
+ medium = Image.open(queued_filename)
+ if medium.size[0] > mgg.global_config['media:medium']['max_width'] \
+ or medium.size[1] > mgg.global_config['media:medium']['max_height'] \
+ or exif_image_needs_rotation(exif_tags):
+ medium_filepath = create_pub_filepath(
+ entry, name_builder.fill('{basename}.medium{ext}'))
+ resize_image(
+ entry, queued_filename, medium_filepath,
+ exif_tags, conversions_subdir,
+ (mgg.global_config['media:medium']['max_width'],
+ mgg.global_config['media:medium']['max_height']))
+ else:
+ medium_filepath = None
+
+ # Copy our queued local workbench to its final destination
+ original_filepath = create_pub_filepath(
+ entry, name_builder.fill('{basename}{ext}'))
+ mgg.public_store.copy_local_to_storage(queued_filename, original_filepath)