code: def read_dynamic_inasafe_field(inasafe_fields, dynamic_field, black_list=None):
      
      pattern = dynamic_field['key']
      pattern = pattern.replace('%s', '')
  
      if black_list is None:
          black_list = []
  
      black_list = [field['key'] for field in black_list]
  
      unique_exposure = []
      for field_key, name_field in list(inasafe_fields.items()):
          if field_key.endswith(pattern) and field_key not in black_list:
              unique_exposure.append(field_key.replace(pattern, ''))
  
      return unique_exposure
docs: Helper to read inasafe_fields using a dynamic field.
  
      :param inasafe_fields: inasafe_fields keywords to use.
      :type inasafe_fields: dict
  
      :param dynamic_field: The dynamic field to use.
      :type dynamic_field: safe.definitions.fields
  
      :param black_list: A list of fields which are conflicting with the dynamic
          field. Same field name pattern.
  
      :return: A list of unique value used in this dynamic field.
      :return: list