1cb93a386Sopenharmony_ci#!/usr/bin/env python
2cb93a386Sopenharmony_ci#
3cb93a386Sopenharmony_ci# Copyright 2017 Google Inc.
4cb93a386Sopenharmony_ci#
5cb93a386Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be
6cb93a386Sopenharmony_ci# found in the LICENSE file.
7cb93a386Sopenharmony_ci
8cb93a386Sopenharmony_ci
9cb93a386Sopenharmony_ci"""Create the asset and upload it."""
10cb93a386Sopenharmony_ci
11cb93a386Sopenharmony_ci
12cb93a386Sopenharmony_ciimport argparse
13cb93a386Sopenharmony_ciimport os
14cb93a386Sopenharmony_ciimport subprocess
15cb93a386Sopenharmony_ciimport sys
16cb93a386Sopenharmony_ci
17cb93a386Sopenharmony_ciFILE_DIR = os.path.dirname(os.path.abspath(__file__))
18cb93a386Sopenharmony_ciINFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir, os.pardir))
19cb93a386Sopenharmony_cisys.path.insert(0, INFRA_BOTS_DIR)
20cb93a386Sopenharmony_ciimport utils
21cb93a386Sopenharmony_ci
22cb93a386Sopenharmony_ci
23cb93a386Sopenharmony_cidef main():
24cb93a386Sopenharmony_ci  parser = argparse.ArgumentParser()
25cb93a386Sopenharmony_ci  parser.add_argument('--gsutil')
26cb93a386Sopenharmony_ci  args = parser.parse_args()
27cb93a386Sopenharmony_ci
28cb93a386Sopenharmony_ci  with utils.tmp_dir():
29cb93a386Sopenharmony_ci    cwd = os.getcwd()
30cb93a386Sopenharmony_ci    create_script = os.path.join(FILE_DIR, 'create.py')
31cb93a386Sopenharmony_ci    upload_script = os.path.join(FILE_DIR, 'upload.py')
32cb93a386Sopenharmony_ci
33cb93a386Sopenharmony_ci    try:
34cb93a386Sopenharmony_ci      subprocess.check_call(['python', create_script, '-t', cwd])
35cb93a386Sopenharmony_ci      cmd = ['python', upload_script, '-t', cwd]
36cb93a386Sopenharmony_ci      if args.gsutil:
37cb93a386Sopenharmony_ci        cmd.extend(['--gsutil', args.gsutil])
38cb93a386Sopenharmony_ci      subprocess.check_call(cmd)
39cb93a386Sopenharmony_ci    except subprocess.CalledProcessError:
40cb93a386Sopenharmony_ci      # Trap exceptions to avoid printing two stacktraces.
41cb93a386Sopenharmony_ci      sys.exit(1)
42cb93a386Sopenharmony_ci
43cb93a386Sopenharmony_ci
44cb93a386Sopenharmony_ciif __name__ == '__main__':
45cb93a386Sopenharmony_ci  main()
46