def create_image_cache(md5sum, gsql):
poster = gsql.session.query(db.Poster).filter_by(md5sum=md5sum).first()
if not poster:
log.warn("poster not available: %s", md5sum)
return False
if not poster.data:
log.warn("poster data not available: %s", md5sum)
return False
fn_big = os.path.join(gsql.data_dir, 'posters', md5sum + '.jpg')
fn_medium = os.path.join(gsql.data_dir, 'posters', md5sum + '_m.jpg')
fn_small = os.path.join(gsql.data_dir, 'posters', md5sum + '_s.jpg')
if not os.path.isfile(fn_big):
f = file(fn_big, 'wb')
f.write(poster.data)
f.close()
image = gtk.Image()
image.set_from_file(fn_big)
if not os.path.isfile(fn_medium):
pixbuf = image.get_pixbuf()
pixbuf = pixbuf.scale_simple(100, 140, 'bilinear')
pixbuf.save(fn_medium, 'jpeg', {'quality': '70'})
if not os.path.isfile(fn_small):
pixbuf = image.get_pixbuf()
pixbuf = pixbuf.scale_simple(30, 40, 'bilinear')
pixbuf.save(fn_small, 'jpeg', {'quality': '70'})
return True
评论列表
文章目录