code: def parse_unit(prop, dictionary, dt=None):
      '''Do a fuzzy match for `prop` in the dictionary, taking into account unit suffix.'''
      try:
          dt = timezone.parse_datetime(dictionary.get('date_time'))
      except TypeError:
          dt = None
      matches = [k for k in dictionary.keys() if prop in k]
      try:
          value = dictionary[matches[0]]
          unit = re.search(r' \(([^)]+)\)', matches[0])
      except IndexError:
          return None
      if ';' in value:
          values = [val for val in value.split(';') if val != '']
          if unit:
              return [Observation(v, unit.group(1), dt) for v in values]
          else:
              return values
      if not value or not unit:
          return value or None
      return Observation(value, unit.group(1), dt)