parameters: (self, *args, **kwargs)
docstring: Reads the configuration passed to it and holds on to the data
          sources that are available to this data source.
docstring_summary: Reads the configuration passed to it and holds on to the data
          sources that are available to this data source.
docstring_tokens: Reads the configuration passed to it and holds on to the data sources that are available to this data source .
function: def __init__(self, *args, **kwargs):
          """Reads the configuration passed to it and holds on to the data
          sources that are available to this data source.
          """
          super(AggregatingDataSource, self).__init__(*args, **kwargs)
  
          self.data_sources = []
  
          self.DESC = kwargs.get('desc', self.DESC)
  
          # Keeps track of the first entry in a key, mapping it to a specific data
          # source. The first instance of a key is always authoritative.
          self.key_mapping_cache = {}
  
          data_sources = kwargs['data_sources']
          for data_source in data_sources:
              data_server_url = data_source['data_server_url']
              data_source_name = data_source['data_source_name']
              name_is_hash = data_source.get('name_is_hash', False)
              secret_key = data_source['secret_key']
  
              if name_is_hash:
                  data_source_hash = data_source_name
              else:
                  data_source_hash = util.generate_ds_key(data_source_name)
  
              self.data_sources.append({
                  "data_server_url": data_server_url,
                  "data_source_hash": data_source_hash,
                  "secret_key": secret_key
              })
function_tokens: def __init__ ( self , * args , * * kwargs ) : super ( AggregatingDataSource , self ) . __init__ ( * args , * * kwargs ) self . data_sources = [ ] self . DESC = kwargs . get ( 'desc' , self . DESC ) # Keeps track of the first entry in a key, mapping it to a specific data # source. The first instance of a key is always authoritative. self . key_mapping_cache = { } data_sources = kwargs [ 'data_sources' ] for data_source in data_sources : data_server_url = data_source [ 'data_server_url' ] data_source_name = data_source [ 'data_source_name' ] name_is_hash = data_source . get ( 'name_is_hash' , False ) secret_key = data_source [ 'secret_key' ] if name_is_hash : data_source_hash = data_source_name else : data_source_hash = util . generate_ds_key ( data_source_name ) self . data_sources . append ( { "data_server_url" : data_server_url , "data_source_hash" : data_source_hash , "secret_key" : secret_key } )