diff --git a/media/asset.py b/media/asset.py index fbd9b23..c8b4ad0 100644 --- a/media/asset.py +++ b/media/asset.py @@ -133,7 +133,7 @@ class MediaAssetFile(object): mediaFile.crop(*dims) elif command == "size": size = [int(i) for i in args.split(",")] - if size and len(size) == 2: + if size: mediaFile.resize(*size) outputFormat = self.getContentType(variant) mediaFile.save(path, outputFormat) diff --git a/media/piltransform.py b/media/piltransform.py index 56cfdc7..a040103 100644 --- a/media/piltransform.py +++ b/media/piltransform.py @@ -93,9 +93,13 @@ class PILTransform(object): box = (left, upper, right, lower) self.im = self.im.crop(box) - def resize(self, width, height): + def resize(self, width, height=None): if self.im is None: return + if not height: + ow, oh = self.im.size + ratio = float(ow) / float(oh) + height = int(round(float(width) / ratio)) dims = (width, height) self.im.thumbnail(dims, Image.ANTIALIAS)