#NEWLINE# def __init__( self , bucket_storage_uri_class , gsutil_api_map , logger , status_queue , provider = None , debug = 0 , trace_token = None , perf_trace_token = None ) : #NEWLINE# #INDENT# 'Performs necessary setup for delegating cloud storage requests.\n\n    This function has different arguments than the gsutil Cloud API __init__\n    function because of the delegation responsibilties of this class.\n\n    Args:\n      bucket_storage_uri_class: boto storage_uri class, used by APIs that\n                                provide boto translation or mocking.\n      gsutil_api_map: Map of providers and API selector tuples to api classes\n                      which can be used to communicate with those providers.\n      logger: logging.logger for outputting log messages.\n      status_queue: Queue for relaying status to UI.\n      provider: Default provider prefix describing cloud storage provider to\n                connect to.\n      debug: Debug level for the API implementation (0..3).\n      trace_token: Apiary trace token to pass to API.\n      perf_trace_token: Performance trace token to use when making API calls.\n    ' #NEWLINE# super ( CloudApiDelegator , self ) . __init__ ( bucket_storage_uri_class , logger , status_queue , provider = provider , debug = debug , trace_token = trace_token , perf_trace_token = perf_trace_token ) #NEWLINE# self . api_map = gsutil_api_map #NEWLINE# self . prefer_api = boto . config . get ( 'GSUtil' , 'prefer_api' , '' ) . upper ( ) #NEWLINE# self . loaded_apis = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } #NEWLINE# if ( not self . api_map [ ApiMapConstants . API_MAP ] ) : #NEWLINE# #INDENT# raise ArgumentException ( 'No apiclass supplied for gsutil Cloud API map.' )