OLD | NEW |
(Empty) | |
| 1 # Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 """Helper functions to upload data to Google Storage. |
| 6 |
| 7 Text data should be streamed to logdog using |logdog_helper| module. |
| 8 Due to logdog not having image or HTML viewer, those instead should be uploaded |
| 9 to Google Storage directly using this module. |
| 10 """ |
| 11 |
| 12 import logging |
| 13 import os |
| 14 import sys |
| 15 import time |
| 16 |
| 17 from devil.utils import cmd_helper |
| 18 from pylib.constants import host_paths |
| 19 from pylib.utils import decorators |
| 20 |
| 21 sys.path.append(os.path.join(host_paths.DIR_SOURCE_ROOT, 'build')) |
| 22 import find_depot_tools # pylint: disable=import-error |
| 23 |
| 24 _URL_TEMPLATE = 'https://storage.googleapis.com/%s/' |
| 25 |
| 26 |
| 27 @decorators.NoRaiseException(default_return_value='') |
| 28 def upload(name, filepath, bucket): |
| 29 """Uploads data to Google Storage. |
| 30 |
| 31 Args: |
| 32 name: Name of the file on Google Storage. |
| 33 filepath: Path to file you want to upload. |
| 34 bucket: Bucket to upload file to. |
| 35 """ |
| 36 gs_path = os.path.join('gs://%s/' % bucket, name) |
| 37 logging.info('Uploading %s to %s', filepath, gs_path) |
| 38 cmd_helper.RunCmd( |
| 39 [os.path.join(find_depot_tools.DEPOT_TOOLS_PATH, 'gsutil.py'), 'cp', |
| 40 filepath, gs_path]) |
| 41 |
| 42 return os.path.join(_URL_TEMPLATE % bucket, name) |
| 43 |
| 44 |
| 45 def unique_name(basename, timestamp=True, device=None): |
| 46 """Helper function for creating a unique name for a logdog stream. |
| 47 |
| 48 Args: |
| 49 basename: Base of the unique name. |
| 50 timestamp: Whether or not to add a timestamp to name. |
| 51 device: Device to add device serial of to name. |
| 52 """ |
| 53 return '%s%s%s' % ( |
| 54 basename, |
| 55 '_%s' % time.strftime('%Y%m%dT%H%M%S', time.localtime()) |
| 56 if timestamp else '', |
| 57 '_%s' % device.serial if device else '') |
OLD | NEW |