def update_blurb(slug, title, new_content): context = { 'title': title, 'blurbs': [] } populate_context_with_meta(new_content, context) for item in fromstring(new_content).xpath('.//div[@class="layercake-item"]')[:5]: handler = CONTENT_HANDLERS[item.attrib['data-type']] context['blurbs'].append(handler.render_blurb(item)) from StringIO import StringIO key_name = 'layercake/uploads/%s/blurb.html' % (slug, ) blurb_url = s3deploy.s3_upload_flo(StringIO(render_template("_blurb.html", **context).encode('utf-8')), app.config['S3_BUCKET'], key_name, "text/html")
def prepare_render_context(self, slug, request, values): context = super(UpdateHandler, self).prepare_render_context(slug, request, values) for k in ['body', 'source', 'caption',]: context[k] = values.get(k,'') try: upload = request.files['photo'] if upload.filename: key_name = 'layercake/uploads/%s/%s' % (slug, upload.filename) context['photo_url'] = s3deploy.s3_upload_flo(upload.stream, app.config['S3_BUCKET'], key_name, upload.mimetype) else: context['photo_url'] = values['photo_url'] except KeyError, e: context['photo_url'] = values['photo_url']