blob: 13eca6fe88dacfe713e3267fa7f61703c63b7f9d [file] [log] [blame]
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Extracts inlined scripts from the provided Polymer HTM files to a separate JS
file. A JS file extracted from the file with name 'foo.html' will have a name
'foo-extracted.js'. Inclusion of the script file will be added to
'foo.html' as '<script src="foo-extracted.js"></script>'.
"""
from os import path as os_path
import sys
import shutil
_HERE_PATH = os_path.dirname(__file__)
_SRC_PATH = os_path.normpath(os_path.join(_HERE_PATH, '..', '..', '..'))
sys.path.append(os_path.join(_SRC_PATH, 'third_party', 'node'))
import node
import node_modules
def ExtractFrom(original_html):
name = os_path.splitext(os_path.basename(original_html))[0]
dst_dir = os_path.dirname(original_html)
extracted_html = os_path.join(dst_dir, name + '-extracted.html')
extracted_js = os_path.join(dst_dir, name + '-extracted.js')
node.RunNode([
node_modules.PathToCrisper(),
'--script-in-head', 'false',
'--source', original_html,
'--html', extracted_html,
'--js', extracted_js])
shutil.move(extracted_html, original_html)
if __name__ == '__main__':
ExtractFrom(sys.argv[1])