Home | History | Annotate | Download | only in gslib
      1 # -*- coding: utf-8 -*-
      2 # Copyright 2011 Google Inc. All Rights Reserved.
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #     http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 """Helper module for Google Cloud Storage project IDs."""
     16 
     17 from __future__ import absolute_import
     18 
     19 import boto
     20 
     21 from gslib.cloud_api import ProjectIdException
     22 
     23 GOOG_PROJ_ID_HDR = 'x-goog-project-id'
     24 
     25 
     26 def PopulateProjectId(project_id=None):
     27   """Fills in a project_id from the boto config file if one is not provided."""
     28   if not project_id:
     29     default_id = boto.config.get_value('GSUtil', 'default_project_id')
     30     if not default_id:
     31       raise ProjectIdException('MissingProjectId')
     32     return default_id
     33   return project_id
     34