#!/usr/bin/python # coding=UTF-8 import os.path import sys import re lst = [] force_rebuild = False with_filenames = False make_torrent = True remote_tar = False folder = 'photo' user = sys.argv[1] if len (sys.argv) > 2: folder = sys.argv[2] make_torrent = False directory = os.path.join(user,folder) wgetlist=os.path.join(user,'wgetlist.txt') if os.path.isfile(wgetlist): f=open(wgetlist) lst = [m.split('/')[-1:][0][:-1] for m in f.readlines()] f.close() print "Using wgetlist as the source\n" else: for item in os.listdir(directory): if os.path.isfile(os.path.join(directory, item)) and re.match('.*\.jp(e?)g', item, re.IGNORECASE): lst.append(item) lst.sort() r = ''' ''' r += "Фото от байкера %s" % (user) r += ''' ''' r += "

Фото от байкера %s

" % (user) r += '''
''' previews_directory = os.path.join(directory, 'previews') if not os.path.isdir(previews_directory): os.mkdir(previews_directory) for n, filename in enumerate(lst): print "Coding %d from %d" % (n + 1, len(lst)) if force_rebuild or not os.path.isfile(os.path.join(previews_directory, filename)): error_code = os.system('convert "%s" -auto-orient -thumbnail 640x480 -quality 60 "%s"' % (\ os.path.join(directory, filename), os.path.join(previews_directory, filename)) ) if not error_code==0: print n, filename assert error_code == 0 if n > 0: r += '\t\t\tНазад%s\n' % (n, ' ' * 5) else: r += '\t\t\tНачало%s\n' % (' ' * 5) r += '\t\t\tФото №%d из %d\n' % (n + 1, n + 1, len(lst)) if n < len(lst) - 1: r += '\t\t\t%sВперёд\n' % (' ' * 5, n + 2) if with_filenames: r += '\t\t\t

%s




\n' % (filename, filename, filename) else: r += '\t\t\t






\n' % (filename, filename ) r += '\n' r+= '''
''' a=open(os.path.join(directory,'index.html'),'w') a.write(r) a.close() # also make a tar archive with all images (.tar.gz is not so good for jpegs) tar = '%s-%s.tar' % (user,folder) if not os.path.exists(os.path.join(user,tar)): if remote_tar: os.system ('ssh homerouter "cd \"/mnt/bigstore/wwshared/veloprobeg_2011/%s\"; find . -maxdepth 1 -iname \"*.jp*g\" -print0 | xargs --null tar -cf \"../%s\"; chmod www-data:www-data \"../%s\""' % (directory, tar, tar) ) else: os.system ('cd "%s"; find . -maxdepth 1 -iname "*.jp*g" -print0 | xargs --null tar -cf "../%s"' % (directory, tar) ) if make_torrent: os.system ('./addmagnet.sh %s' % (user) )