| Index: mojo/public/sky/convert_amd_modules_to_sky.py
|
| diff --git a/mojo/public/sky/convert_amd_modules_to_sky.py b/mojo/public/sky/convert_amd_modules_to_sky.py
|
| deleted file mode 100755
|
| index ddff565cce79dc89889abbd32f70f9afbd837545..0000000000000000000000000000000000000000
|
| --- a/mojo/public/sky/convert_amd_modules_to_sky.py
|
| +++ /dev/null
|
| @@ -1,100 +0,0 @@
|
| -#!/usr/bin/env 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 sys
|
| -import re
|
| -
|
| -IMPORT_TEMPLATE = '<import src="/%s.sky" as="%s" />'
|
| -PREAMBLE_TEMPLATE = '<script>'
|
| -POSTAMBLE_TEMPLATE = ' module.exports = exports;\n</script>'
|
| -
|
| -class Import(object):
|
| - def __init__(self, path, name):
|
| - self.path = path
|
| - self.name = name
|
| -
|
| -class Module(object):
|
| - def __init__(self):
|
| - self.name = ""
|
| - self.imports = []
|
| - self.body = ""
|
| -
|
| -def Serialize(module):
|
| - lines = []
|
| - for i in module.imports:
|
| - lines.append(IMPORT_TEMPLATE % (i.path, i.name))
|
| - lines.append(PREAMBLE_TEMPLATE)
|
| - lines.append(module.body)
|
| - lines.append(POSTAMBLE_TEMPLATE)
|
| - return "\n".join(lines)
|
| -
|
| -name_regex = re.compile(r'define\("([^"]+)"')
|
| -import_regex = re.compile(r' +"([^"]+)",')
|
| -begin_body_regexp = re.compile(r', function\(([^)]*)\)')
|
| -end_body_regexp = re.compile(r'return exports')
|
| -
|
| -def AddImportNames(module, unparsed_names):
|
| - names = [n.strip() for n in unparsed_names.split(',')]
|
| - for i in range(len(module.imports)):
|
| - module.imports[i].name = names[i]
|
| -
|
| -def RewritePathNames(path):
|
| - return path.replace("mojo/public/js", "mojo/public/sky") \
|
| - .replace("mojo/services/public/js", "mojo/services/public/sky")
|
| -
|
| -def Parse(amd_module):
|
| - module = Module()
|
| - body_lines = []
|
| - state = "name"
|
| - for line in amd_module.splitlines():
|
| - if state == "name":
|
| - m = name_regex.search(line)
|
| - if m:
|
| - module.name = m.group(1)
|
| - m = begin_body_regexp.search(line)
|
| - if m:
|
| - AddImportNames(module, m.group(1))
|
| - state = "body"
|
| - else:
|
| - state = "imports"
|
| - continue
|
| - if state == "imports":
|
| - m = import_regex.search(line)
|
| - if m:
|
| - module.imports.append(Import(RewritePathNames(m.group(1)), None))
|
| - continue
|
| - m = begin_body_regexp.search(line)
|
| - if m:
|
| - AddImportNames(module, m.group(1))
|
| - state = "body"
|
| - continue
|
| - raise Exception("Unknown import declaration:" + line)
|
| - if state == "body":
|
| - if end_body_regexp.search(line):
|
| - module.body = "\n".join(body_lines)
|
| - return module
|
| - body_lines.append(line)
|
| - continue
|
| - raise Exception("Unknown parser state")
|
| - raise Exception("End of file reached with finding a module")
|
| -
|
| -def main():
|
| - parser = argparse.ArgumentParser()
|
| - parser.add_argument("--input")
|
| - parser.add_argument("--output")
|
| - args = parser.parse_args()
|
| -
|
| - module = None
|
| - with open(args.input, "r") as input_file:
|
| - module = Parse(input_file.read())
|
| -
|
| - with open(args.output, "w+") as output_file:
|
| - output_file.write(Serialize(module))
|
| -
|
| - return 0
|
| -
|
| -if __name__ == "__main__":
|
| - sys.exit(main())
|
|
|