author | Tero Marttila <terom@paivola.fi> |
Sun, 07 Sep 2014 14:21:56 +0300 | |
changeset 424 | e77e967d59b0 |
parent 197 | 9f18b11647fb |
permissions | -rw-r--r-- |
197
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
1 |
from werkzeug.wrappers import Response |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
2 |
from werkzeug.exceptions import ( |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
3 |
HTTPException, |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
4 |
BadRequest, # 400 |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
5 |
NotFound, # 404 |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
6 |
) |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
7 |
from werkzeug.utils import redirect |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
8 |
|
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
9 |
|
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
10 |
import json as _json |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
11 |
|
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
12 |
def html (tag, **opts) : |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
13 |
""" |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
14 |
Return text/html response for given pvl.web.html |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
15 |
""" |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
16 |
|
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
17 |
return Response(unicode(tag), mimetype='text/html', **opts) |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
18 |
|
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
19 |
def json (data, **opts) : |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
20 |
""" |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
21 |
Return text/json response for given object. |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
22 |
""" |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
23 |
|
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
24 |
return Response(_json.dumps(data), mimetype='text/json', **opts) |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
25 |
|
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
26 |
def image (file, type='png') : |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
27 |
""" |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
28 |
Return image/{type} response for given file-like object. |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
29 |
""" |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
30 |
|
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
31 |
# respond with file wrapper |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
32 |
return Response(file, mimetype='image/{type}'.format(type=type), direct_passthrough=True) |
9f18b11647fb
pvl.web.response: html/json/image response encodings
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
33 |