def process_attribute_value(key, value):
 if (not cfg.CONF.log.mask_secrets):
  return value
 if isinstance(value, SIMPLE_TYPES):
  if (key in MASKED_ATTRIBUTES_BLACKLIST):
   value = MASKED_ATTRIBUTE_VALUE
 elif isinstance(value, dict):
  value = copy.deepcopy(value)
  for (dict_key, dict_value) in six.iteritems(value):
   value[dict_key] = process_attribute_value(key=dict_key, value=dict_value)
 return value

def process_attribute_value ( key , value ) : if ( not cfg . CONF . log . mask_secrets ) : return value if isinstance ( value , SIMPLE_TYPES ) : if ( key in MASKED_ATTRIBUTES_BLACKLIST ) : value = MASKED_ATTRIBUTE_VALUE elif isinstance ( value , dict ) : value = copy . deepcopy ( value ) for ( dict_key , dict_value ) in six . iteritems ( value ) : value [ dict_key ] = process_attribute_value ( key = dict_key , value = dict_value ) return value
format and process the extra attribute value .