code: def _ParseFileEntry(self, knowledge_base, file_entry):
      
      if not file_entry or not file_entry.link:
        raise errors.PreProcessFail(
            'Unable to read: {0:s} with error: not a symbolic link'.format(
                self.ARTIFACT_DEFINITION_NAME))
  
      _, _, time_zone = file_entry.link.partition('zoneinfo/')
      # TODO: check if time zone is set in knowledge base.
      if time_zone:
        try:
          knowledge_base.SetTimeZone(time_zone)
        except ValueError:
          # TODO: add and store preprocessing errors.
          pass
docs: Parses artifact file system data for a preprocessing attribute.
  
      Args:
        knowledge_base (KnowledgeBase): to fill with preprocessing information.
        file_entry (dfvfs.FileEntry): file entry that contains the artifact
            value data.
  
      Raises:
        errors.PreProcessFail: if the preprocessing fails.