import web import os import Image opj = os.path.join APPDIR = os.path.dirname(os.path.abspath(__file__)) def appdir (*args): return os.path.join(APPDIR, *args) def url (path): return "\"%s\"" % web.url(path) def toJS (ls): ls = ("'%s':'%s'" % x for x in ls) return "{ %s }" % ", ".join(ls) def getImages (path, tmpPath, size): if path[0] != '/': path = '/' + path if tmpPath[0] != '/': tmpPath = '/' + tmpPath appPath = appdir(path[1:]) appTPath = appdir(tmpPath[1:]) for f in sorted(os.listdir(appPath)): if not f.endswith(".png"): continue thumbName = "thumb-" + f imgUrl = url(opj(path, f)) thumbUrl = url(opj(tmpPath, thumbName)) imgPath = opj(appPath, f) thumbPath = opj(appTPath, thumbName) if (not os.path.exists(thumbPath)) or \ os.stat(imgPath).st_mtime > os.stat(thumbPath).st_mtime: im = Image.open(imgPath) im.thumbnail(size, Image.ANTIALIAS) im.save(thumbPath) descName = f + ".desc" desc = None if os.path.exists(opj(appPath, descName)): with open(opj(appPath, descName)) as d: desc = d.read().strip() yield (imgUrl, thumbUrl, desc)