summaryrefslogtreecommitdiff
path: root/minimify
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2009-08-07 22:37:08 +0300
committerLars Wirzenius <liw@liw.fi>2009-08-07 22:37:08 +0300
commit9085df7df610c9ecd7a6661d28a9551fd9c13131 (patch)
tree9f3ed0012e4926263a2a7b3eeb61ebce25b206e2 /minimify
parent099a60a02d7c3f78282c74e2c09c567bbab06979 (diff)
downloadextrautils-9085df7df610c9ecd7a6661d28a9551fd9c13131.tar.gz
Keep only the smallest output file.
Diffstat (limited to 'minimify')
-rwxr-xr-xminimify17
1 files changed, 11 insertions, 6 deletions
diff --git a/minimify b/minimify
index 1c05b47..e0a1f9c 100755
--- a/minimify
+++ b/minimify
@@ -50,17 +50,22 @@ def run_compressor(t):
def compress(filename, options):
+ args = [(compressor, filename, suffix, options)
+ for compressor, suffix in COMPRESSORS]
pool = multiprocessing.Pool()
- pool.map(run_compressor,
- [(compressor, filename, suffix, options)
- for compressor, suffix in COMPRESSORS])
-
+ pool.map(run_compressor, args)
+ sizes = [(os.path.getsize(filename + suffix), filename + suffix)
+ for compressor, filename, suffix, options in args]
+ sizes.sort()
+ for size, pathname in sizes[1:]:
+ os.remove(pathname)
+ return sizes[0]
def main():
options, filenames = parse_args()
for filename in filenames:
- compress(filename, options)
-
+ size, name = compress(filename, options)
+ print size, name
if __name__ == "__main__":