| 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 # This script is used to copy all dependencies into the local directory. | 6 # This script is used to copy all dependencies into the local directory. |
| 7 # The package of files can then be uploaded to App Engine. | 7 # The package of files can then be uploaded to App Engine. |
| 8 import os | 8 import os |
| 9 import shutil | 9 import shutil |
| 10 import sys | 10 import sys |
| 11 | 11 |
| 12 THIRD_PARTY_DIR = os.path.join(sys.path[0], os.pardir, os.pardir, os.pardir, | 12 THIRD_PARTY_DIR = os.path.join(sys.path[0], os.pardir, os.pardir, os.pardir, |
| 13 os.pardir, os.pardir, 'third_party') | 13 os.pardir, os.pardir, 'third_party') |
| 14 LOCAL_THIRD_PARTY_DIR = os.path.join(sys.path[0], 'third_party') | 14 LOCAL_THIRD_PARTY_DIR = os.path.join(sys.path[0], 'third_party') |
| 15 TOOLS_DIR = os.path.join(sys.path[0], os.pardir, os.pardir, os.pardir, |
| 16 os.pardir, os.pardir, 'tools') |
| 17 |
| 18 SCHEMA_COMPILER_FILES = ['model.py'] |
| 19 |
| 20 def MakeInit(path): |
| 21 path = os.path.join(path, '__init__.py') |
| 22 with open(os.path.join(path), 'w') as f: |
| 23 os.utime(os.path.join(path), None) |
| 24 |
| 25 def CopyThirdParty(src, dest, files=None): |
| 26 dest_path = os.path.join(LOCAL_THIRD_PARTY_DIR, dest) |
| 27 if not files: |
| 28 shutil.copytree(src, dest_path) |
| 29 MakeInit(dest_path) |
| 30 return |
| 31 try: |
| 32 os.makedirs(dest_path) |
| 33 except: |
| 34 pass |
| 35 MakeInit(dest_path) |
| 36 for filename in files: |
| 37 shutil.copy(os.path.join(src, filename), os.path.join(dest_path, filename)) |
| 15 | 38 |
| 16 def main(): | 39 def main(): |
| 17 shutil.rmtree(LOCAL_THIRD_PARTY_DIR, True) | 40 shutil.rmtree(LOCAL_THIRD_PARTY_DIR, True) |
| 18 shutil.copytree(os.path.join(THIRD_PARTY_DIR, 'handlebar'), | |
| 19 os.path.join(LOCAL_THIRD_PARTY_DIR, 'handlebar')) | |
| 20 | 41 |
| 21 with open(os.path.join(LOCAL_THIRD_PARTY_DIR, '__init__.py'), 'w') as f: | 42 CopyThirdParty(os.path.join(THIRD_PARTY_DIR, 'handlebar'), 'handlebar') |
| 22 os.utime(os.path.join(LOCAL_THIRD_PARTY_DIR, '__init__.py'), None) | 43 CopyThirdParty(os.path.join(TOOLS_DIR, 'json_schema_compiler'), |
| 44 'json_schema_compiler', |
| 45 SCHEMA_COMPILER_FILES) |
| 46 CopyThirdParty(TOOLS_DIR, 'json_schema_compiler', ['json_comment_eater.py']) |
| 47 MakeInit(LOCAL_THIRD_PARTY_DIR) |
| 23 | 48 |
| 24 shutil.copy(os.path.join(LOCAL_THIRD_PARTY_DIR, '__init__.py'), | 49 # To be able to use the Handlebar class we need this import in __init__.py. |
| 25 os.path.join(LOCAL_THIRD_PARTY_DIR, 'handlebar')) | 50 with open(os.path.join(LOCAL_THIRD_PARTY_DIR, |
| 26 with open( | 51 'handlebar', |
| 27 os.path.join(LOCAL_THIRD_PARTY_DIR, 'handlebar/__init__.py'), 'a') as f: | 52 '__init__.py'), 'a') as f: |
| 28 f.write('\nfrom handlebar import Handlebar\n') | 53 f.write('from handlebar import Handlebar\n') |
| 29 | 54 |
| 30 if __name__ == '__main__': | 55 if __name__ == '__main__': |
| 31 main() | 56 main() |
| OLD | NEW |