summaryrefslogtreecommitdiffstats
path: root/remoting/tools
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/tools')
-rwxr-xr-xremoting/tools/htmlcompile.py79
-rwxr-xr-xremoting/tools/jscompile.py49
2 files changed, 49 insertions, 79 deletions
diff --git a/remoting/tools/htmlcompile.py b/remoting/tools/htmlcompile.py
deleted file mode 100755
index 9fcb5a7..0000000
--- a/remoting/tools/htmlcompile.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/python
-# Copyright 2014 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.
-
-import argparse
-from HTMLParser import HTMLParser
-import subprocess
-import sys
-import os
-
-DESCRIPTION = '''Extract the <script> tags from the specified html file and
-run them through jscompile, along with any additional JS files specified.'''
-FILES_HELP = '''A list of HTML or Javascript files. The Javascript files should
-contain definitions of types or functions that are known to Chrome but not to
-jscompile; they are added to the list of <script> tags found in each of the
-HTML files.'''
-STAMP_HELP = 'Timestamp file to update on success.'
-
-class ScriptTagParser(HTMLParser):
- def __init__(self):
- HTMLParser.__init__(self)
- self.scripts = []
-
- def handle_starttag(self, tag, attrs):
- if tag == 'script':
- for (name, value) in attrs:
- if name == 'src':
- self.scripts.append(value)
-
-
-def parseHtml(html_file, js_proto_files):
- src_dir = os.path.split(html_file)[0]
- f = open(html_file, 'r')
- html = f.read()
- parser = ScriptTagParser();
- parser.feed(html)
- scripts = []
- for script in parser.scripts:
- # Ignore non-local scripts
- if not '://' in script:
- scripts.append(os.path.join(src_dir, script))
-
- args = ['jscompile'] + scripts + js_proto_files
- result = subprocess.call(args)
- return result == 0
-
-
-def main():
- parser = argparse.ArgumentParser(description = DESCRIPTION)
- parser.add_argument('files', nargs = '+', help = FILES_HELP)
- parser.add_argument('--success-stamp', dest = 'success_stamp',
- help = STAMP_HELP)
- options = parser.parse_args()
-
- html = []
- js = []
- for file in options.files:
- name, extension = os.path.splitext(file)
- if extension == '.html':
- html.append(file)
- elif extension == '.js':
- js.append(file)
- else:
- print >> sys.stderr, 'Unknown extension (' + extension + ') for ' + file
- return 1
-
- for html_file in html:
- if not parseHtml(html_file, js):
- return 1
-
- if options.success_stamp:
- with open(options.success_stamp, 'w'):
- os.utime(options.success_stamp, None)
-
- return 0
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/remoting/tools/jscompile.py b/remoting/tools/jscompile.py
new file mode 100755
index 0000000..0f06964
--- /dev/null
+++ b/remoting/tools/jscompile.py
@@ -0,0 +1,49 @@
+#!/usr/bin/python
+# Copyright 2014 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.
+
+import argparse
+import subprocess
+import sys
+import os
+
+DESCRIPTION = '''Run the given JavaScript files through jscompile.'''
+FILES_HELP = '''A list of Javascript files. The Javascript files should include
+files that contain definitions of types or functions that are known to Chrome
+but not to jscompile.'''
+STAMP_HELP = 'Timestamp file to update on success.'
+
+def checkJavascript(js_files):
+ args = ['jscompile'] + js_files
+ result = subprocess.call(args)
+ return result == 0
+
+
+def main():
+ parser = argparse.ArgumentParser(description = DESCRIPTION)
+ parser.add_argument('files', nargs = '+', help = FILES_HELP)
+ parser.add_argument('--success-stamp', dest = 'success_stamp',
+ help = STAMP_HELP)
+ options = parser.parse_args()
+
+ js = []
+ for file in options.files:
+ name, extension = os.path.splitext(file)
+ if extension == '.js':
+ js.append(file)
+ else:
+ print >> sys.stderr, 'Unknown extension (' + extension + ') for ' + file
+ return 1
+
+ if not checkJavascript(js):
+ return 1
+
+ if options.success_stamp:
+ with open(options.success_stamp, 'w'):
+ os.utime(options.success_stamp, None)
+
+ return 0
+
+if __name__ == '__main__':
+ sys.exit(main())