Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: filters/inline_file.py

Issue 4661048523096064: Issue 2120 - Add support for animations. (Closed)
Patch Set: Addressed feedback. Created April 13, 2015, 9:03 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | static/js/animation.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # This file is part of the Adblock Plus website,
2 # Copyright (C) 2006-2015 Eyeo GmbH
3 #
4 # Adblock Plus is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License version 3 as
6 # published by the Free Software Foundation.
7 #
8 # Adblock Plus is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
15
16 import base64
17 import urllib
18 from mimetypes import MimeTypes
19
20 from jinja2 import contextfilter
21
22
23 mime = MimeTypes()
24
25 @contextfilter
26 def inline_file(context, path, mime_type=None):
27 if mime_type is None:
28 mime_type = mime.guess_type(path)[0]
29 if mime_type is None:
30 raise ValueError("Unknown mime type for file '%s', please specify." % path )
31
32 source = context["source"]
33 for locale in (context["locale"], "en"):
34 if source.has_localizable_file(locale, path):
35 file_contents = source.read_localizable_file(locale, path)
36 break
37 else:
38 file_contents = source.read_static(path)
39
40 return "data:%s;base64,%s" % (
41 mime_type,
42 urllib.quote(base64.b64encode(file_contents))
43 )
OLDNEW
« no previous file with comments | « no previous file | static/js/animation.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld