OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Flattens a HTML file by inlining its external resources. | 6 """Flattens a HTML file by inlining its external resources. |
7 | 7 |
8 This is a small script that takes a HTML file, looks for src attributes | 8 This is a small script that takes a HTML file, looks for src attributes |
9 and inlines the specified file, producing one HTML file with no external | 9 and inlines the specified file, producing one HTML file with no external |
10 dependencies. It recursively inlines the included files. | 10 dependencies. It recursively inlines the included files. |
(...skipping 28 matching lines...) Expand all Loading... |
39 _END_IF_BLOCK = lazy_re.compile('\s*</if>') | 39 _END_IF_BLOCK = lazy_re.compile('\s*</if>') |
40 | 40 |
41 # Used by DoInline to replace various links with inline content. | 41 # Used by DoInline to replace various links with inline content. |
42 _STYLESHEET_RE = lazy_re.compile( | 42 _STYLESHEET_RE = lazy_re.compile( |
43 '<link rel="stylesheet"[^>]+?href="(?P<filename>[^"]*)".*?>(\s*</link>)?', | 43 '<link rel="stylesheet"[^>]+?href="(?P<filename>[^"]*)".*?>(\s*</link>)?', |
44 re.DOTALL) | 44 re.DOTALL) |
45 _INCLUDE_RE = lazy_re.compile( | 45 _INCLUDE_RE = lazy_re.compile( |
46 '<include[^>]+?src="(?P<filename>[^"\']*)".*?>(\s*</include>)?', | 46 '<include[^>]+?src="(?P<filename>[^"\']*)".*?>(\s*</include>)?', |
47 re.DOTALL) | 47 re.DOTALL) |
48 _SRC_RE = lazy_re.compile( | 48 _SRC_RE = lazy_re.compile( |
49 r'<(?!script)(?:[^>]+?\s)src=(?P<quote>")(?P<filename>[^"\']*)\1', | 49 r'<(?!script)(?:[^>]+?\s)src=(?P<quote>")(?!\[\[|{{)(?P<filename>[^"\']*)\1'
, |
50 re.MULTILINE) | 50 re.MULTILINE) |
51 _ICON_RE = lazy_re.compile( | 51 _ICON_RE = lazy_re.compile( |
52 r'<link rel="icon"\s(?:[^>]+?\s)?' | 52 r'<link rel="icon"\s(?:[^>]+?\s)?' |
53 'href=(?P<quote>")(?P<filename>[^"\']*)\1', | 53 'href=(?P<quote>")(?P<filename>[^"\']*)\1', |
54 re.MULTILINE) | 54 re.MULTILINE) |
55 | 55 |
56 | 56 |
57 def GetDistribution(): | 57 def GetDistribution(): |
58 """Helper function that gets the distribution we are building. | 58 """Helper function that gets the distribution we are building. |
59 | 59 |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 | 414 |
415 def main(): | 415 def main(): |
416 if len(sys.argv) <= 2: | 416 if len(sys.argv) <= 2: |
417 print "Flattens a HTML file by inlining its external resources.\n" | 417 print "Flattens a HTML file by inlining its external resources.\n" |
418 print "html_inline.py inputfile outputfile" | 418 print "html_inline.py inputfile outputfile" |
419 else: | 419 else: |
420 InlineToFile(sys.argv[1], sys.argv[2], None) | 420 InlineToFile(sys.argv[1], sys.argv[2], None) |
421 | 421 |
422 if __name__ == '__main__': | 422 if __name__ == '__main__': |
423 main() | 423 main() |
OLD | NEW |