def post(): sdb = apis.get_sdb() surl = None if "file" in flask.request.files: uploaded_file = UploadedFile(flask.request, formfile='file') uploaded_file.save() full_url = uploaded_file.get_filename() surl = sdb.new(full_url, ShortURL.IMG) surl.mime_type = uploaded_file.get_mimetype() if not surl.info: surl.info = {} surl.info["title"] = uploaded_file.get_remote_filename() sdb.save(surl) elif "d" in flask.request.form: text = flask.request.form["d"] with tempfile.TemporaryFile() as tmp_fh: tmp_fh.write(text) tmp_fh.seek(0) uploaded_file = UploadedFile(flask.request, stream=tmp_fh) uploaded_file.save() full_url = uploaded_file.get_filename() surl = sdb.new(full_url, ShortURL.TEXT) if "m" in flask.request.form: surl.mime_type = flask.request.form["m"] else: surl.mime_type = "text/plain" sdb.save(surl) else: raise Exception("missing required field") return { "status": "OK", "url": full_url, "short_code": surl.get_short_code(), "short_url": surl.get_short_url(), }