code: def acquisition_source(self, key, value):
      
      def _get_datetime(value):
          d_value = force_single_element(value.get('d', ''))
          if d_value:
              try:
                  date = PartialDate.loads(d_value)
              except ValueError:
                  return d_value
              else:
                  datetime_ = datetime(year=date.year, month=date.month, day=date.day)
                  return datetime_.isoformat()
  
      internal_uid, orcid, source = None, None, None
  
      a_values = force_list(value.get('a'))
      for a_value in a_values:
          if IS_INTERNAL_UID.match(a_value):
              if a_value.startswith('inspire:uid:'):
                  internal_uid = int(a_value[12:])
              else:
                  internal_uid = int(a_value)
          elif IS_ORCID.match(a_value):
              if a_value.startswith('orcid:'):
                  orcid = a_value[6:]
              else:
                  orcid = a_value
          else:
              source = a_value
  
      c_value = force_single_element(value.get('c', ''))
      normalized_c_value = c_value.lower()
  
      if normalized_c_value == 'batchupload':
          method = 'batchuploader'
      elif normalized_c_value == 'submission':
          method = 'submitter'
      else:
          method = normalized_c_value
  
      return {
          'datetime': _get_datetime(value),
          'email': value.get('b'),
          'internal_uid': internal_uid,
          'method': method,
          'orcid': orcid,
          'source': source,
          'submission_number': value.get('e'),
      }
docs: Populate the ``acquisition_source`` key.