# -*- coding: utf-8 -*-
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Module contains constants shared across all other devserver modules."""

#### Google Storage locations and names. ####
# TODO (joyc) move the google storage filenames of artfacts here
CHANNELS = 'canary', 'dev', 'beta', 'stable'
GS_IMAGE_BUCKET = 'chromeos-image-archive'
GS_IMAGE_DIR = 'gs://%s' % GS_IMAGE_BUCKET
GS_LATEST_MASTER = '%(image_dir)s/%(board)s%(suffix)s/LATEST-master'
GS_LATEST_BASE_VERSION = (
    '%(image_dir)s/%(board)s%(suffix)s/LATEST-%(base_version)s')
IMAGE_DIR = '%(board)s%(suffix)s/%(version)s'

GS_RELEASES_DIR = 'gs://chromeos-releases'
GS_CHANNEL_DIR = GS_RELEASES_DIR + '/%(channel)s-channel/%(board)s/'

VERSION = r'[-0-9\.]+'
VERSION_RE = 'R%s' % VERSION

STAGED_BUILD_REGEX = '/static/(?P<build>.*-.*/%s)/.*' % VERSION_RE


#### Local storage locations and names. ####
AUTOTEST_DIR = 'autotest'
BASE_IMAGE_FILE = 'chromiumos_base_image.bin'
IMAGE_FILE = 'chromiumos_image.bin'
FACTORY_IMAGE_FILE = 'factory_test/chromiumos_factory_image.bin'
FACTORY_SHIM_IMAGE_FILE = 'factory_shim/factory_install_shim.bin'
RECOVERY_IMAGE_FILE = 'recovery_image.bin'
SIGNED_IMAGE_FILE = 'signed_image.bin'
TEST_IMAGE_FILE = 'chromiumos_test_image.bin'

#### Update files
CACHE_DIR = 'cache'
STATEFUL_FILE = 'stateful.tgz'
UPDATE_FILE = 'update.gz'
UPDATE_METADATA_FILE = 'update.gz.json'

#### Android files
ANDROID_BOOT_IMAGE_FILE = 'boot.img'
ANDROID_SYSTEM_IMAGE_FILE = 'system.img'
ANDROID_FASTBOOT = 'fastboot'
