blob: 2f01250590b919f8b3573f0778ad2d0b005f972b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import os
import subprocess
import sys
AvatarSize = '50x50!'
NormalSize = '400x400!'
def is_image(f):
f = f.lower()
return f.endswith('.jpg') or f.endswith('.jpeg') or f.endswith('.png') or f.endswith('.gif')
def load_avatars(path='avatars.txt'):
return open(path, 'r').read().splitlines()
def resize_file(path, size):
cmd = "gm convert -size %s %s -resize %s %s" % (size, path, size, path)
print cmd
subprocess.Popen(cmd, shell=True)
def resize_directory(mode, dir):
filter = None
avatars = set(load_avatars())
if mode == 'avatars':
filter = lambda f: f in avatars
elif mode == 'all':
filter = is_image
else:
print 'unknown mode: %s' % mode
return
files = os.listdir(dir)
for f in files:
if filter(f):
if f in avatars:
resize_file('%s/%s' % (dir, f), AvatarSize)
else:
resize_file('%s/%s' % (dir, f), NormalSize)
if __name__ == '__main__':
if len(sys.argv) != 3:
print "usage: resize.py mode directory"
else:
resize_directory(sys.argv[1], sys.argv[2])
|