def GET(self, url, ext): url = fb.b64decode(url) h = hmac.new(fb.FB_APP_SECRET + 'flipurl', url, hashlib.sha256) sig = fb.b64encode(h.digest()) if not sig == dict(parse_qsl(web.ctx.query.lstrip('?'))).get('sig'): raise web.forbidden() fp = urllib2.urlopen(url) im = StringIO(fp.read()) m = Image.open(im) m = m.transpose(Image.FLIP_LEFT_RIGHT) output = StringIO() m.save(output, format='jpeg') contents = output.getvalue() output.close() im.close() web.header("Content-Type", "image/jpeg") return contents
def flip_url(url): h = hmac.new(fb.FB_APP_SECRET + 'flipurl', url, hashlib.sha256) sig = fb.b64encode(h.digest()) return "/flip/{}.jpg?sig={}".format(fb.b64encode(url), sig)