diff options
author | Eric Sunshine <sunshine@sunshineco.com> | 2015-01-13 10:57:10 +0100 |
---|---|---|
committer | Alberto Bertogli <albertito@blitiri.com.ar> | 2015-01-13 20:51:44 +0100 |
commit | 1d79988228a9b08c86d9e595fdc1b92f7ca50424 (patch) | |
tree | 26f46b762364d2670bce9f99363e3fda858d817f /utils.py | |
parent | 0ba89d75e6e26bf14f5b6cfb6526e601f7ad7e2d (diff) | |
download | git-arr-fork-1d79988228a9b08c86d9e595fdc1b92f7ca50424.zip |
Blob: vend raw or cooked content
Some blob representations require raw blob content, however, the 'blob'
view is unconditionally handed cooked (utf8-encoded) content, thus
representations which need raw content are forced to reload the blob in
raw form, which is ugly and expensive.
The ultimate goal is to eliminate the wasteful blob reloading when raw
content is needed. Toward that end, teach Blob how to vend raw or cooked
content.
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
Diffstat (limited to 'utils.py')
-rw-r--r-- | utils.py | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -102,9 +102,9 @@ def embed_image_blob(repo, dirname, fname): mimetype = mimetypes.guess_type(fname)[0] # Unfortunately, bottle seems to require utf-8 encoded data. - # We have to refetch the blob with raw=True, because the utf-8 encoded + # We have to refetch the blob as raw data, because the utf-8 encoded # version of the blob available in the bottle template discards binary data. - raw_blob = repo.blob(dirname + fname, raw = True) + raw_blob = repo.blob(dirname + fname) return '<img style="max-width:100%;" src="data:{0};base64,{1}" />'.format( \ mimetype, base64.b64encode(raw_blob.raw_content)) |