| Index: infra/bots/assets/assets.py
|
| diff --git a/infra/bots/assets/assets.py b/infra/bots/assets/assets.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..538a41b58596cef57b2383b3e72f4ec4bfce8972
|
| --- /dev/null
|
| +++ b/infra/bots/assets/assets.py
|
| @@ -0,0 +1,80 @@
|
| +#!/usr/bin/env python
|
| +#
|
| +# Copyright 2016 Google Inc.
|
| +#
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +
|
| +"""Tool for managing assets."""
|
| +
|
| +
|
| +import argparse
|
| +import asset_utils
|
| +import os
|
| +import shutil
|
| +import subprocess
|
| +import sys
|
| +
|
| +FILE_DIR = os.path.dirname(os.path.abspath(__file__))
|
| +INFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir))
|
| +
|
| +sys.path.insert(0, INFRA_BOTS_DIR)
|
| +import utils
|
| +
|
| +
|
| +def add(args):
|
| + """Add a new asset."""
|
| + asset_utils.Asset.add(args.asset_name)
|
| +
|
| +
|
| +def remove(args):
|
| + """Remove an asset."""
|
| + asset_utils.Asset(args.asset_name).remove()
|
| +
|
| +
|
| +def download(args):
|
| + """Download the current version of an asset."""
|
| + asset = asset_utils.Asset(args.asset_name, gsutil=args.gsutil)
|
| + asset.download_current_version(args.target_dir)
|
| +
|
| +
|
| +def upload(args):
|
| + """Upload a new version of the asset."""
|
| + asset = asset_utils.Asset(args.asset_name, gsutil=args.gsutil)
|
| + asset.upload_new_version(args.target_dir, commit=args.commit)
|
| +
|
| +
|
| +def main(argv):
|
| + parser = argparse.ArgumentParser(description='Tool for managing assets.')
|
| + subs = parser.add_subparsers(help='Commands:')
|
| +
|
| + prs_add = subs.add_parser('add', help='Add a new asset.')
|
| + prs_add.set_defaults(func=add)
|
| + prs_add.add_argument('asset_name', help='Name of the asset.')
|
| +
|
| + prs_remove = subs.add_parser('remove', help='Remove an asset.')
|
| + prs_remove.set_defaults(func=remove)
|
| + prs_remove.add_argument('asset_name', help='Name of the asset.')
|
| +
|
| + prs_download = subs.add_parser(
|
| + 'download', help='Download the current version of an asset.')
|
| + prs_download.set_defaults(func=download)
|
| + prs_download.add_argument('asset_name', help='Name of the asset.')
|
| + prs_download.add_argument('--target_dir', '-t', required=True)
|
| + prs_download.add_argument('--gsutil')
|
| +
|
| + prs_upload = subs.add_parser(
|
| + 'upload', help='Upload a new version of an asset.')
|
| + prs_upload.set_defaults(func=upload)
|
| + prs_upload.add_argument('asset_name', help='Name of the asset.')
|
| + prs_upload.add_argument('--target_dir', '-t', required=True)
|
| + prs_upload.add_argument('--gsutil')
|
| + prs_upload.add_argument('--commit', action='store_true')
|
| +
|
| + args = parser.parse_args(argv)
|
| + args.func(args)
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + main(sys.argv[1:])
|
|
|