Index: tools/remove_html_imports.py |
diff --git a/tools/remove_html_imports.py b/tools/remove_html_imports.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3c3d953fc82b9f6437229d162410a47b6a3086ee |
--- /dev/null |
+++ b/tools/remove_html_imports.py |
@@ -0,0 +1,39 @@ |
+#!/usr/bin/env python |
+# Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
+# for details. All rights reserved. Use of this source code is governed by a |
+# BSD-style license that can be found in the LICENSE file. |
+ |
+'''Tool for removing dart:html and related imports from a library. |
+ |
+Copy SOURCE to TARGET, removing any lines that import dart:html. |
+ |
+Usage: |
+ python tools/remove_html_imports.py SOURCE TARGET |
+''' |
+ |
+import os |
+import re |
+import shutil |
+import sys |
+ |
+HTML_IMPORT = re.compile(r'''^import ["']dart:(html|html_common|indexed_db''' |
+ r'''|js|svg|web_(audio|gl|sql))["'];$''', |
+ flags=re.MULTILINE) |
+ |
+def main(argv): |
+ source = argv[1] |
+ target = argv[2] |
+ shutil.rmtree(target) |
+ shutil.copytree(source, target) |
+ |
+ for root, subFolders, files in os.walk(target): |
+ for path in files: |
+ if not path.endswith('.dart'): next |
+ with open(os.path.join(root, path), 'r+') as f: |
+ contents = f.read() |
+ f.seek(0) |
+ f.truncate() |
+ f.write(HTML_IMPORT.sub(r'// import "dart:\1";', contents)) |
+ |
+if __name__ == '__main__': |
+ sys.exit(main(sys.argv)) |