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