code: def Filter(self):
      
      if not self.desc:
        self.short_desc = ''
        return
  
      for i in range(len(self.desc)):   # replace full path with name
        if self.desc[i].find(self.executable) >= 0:
          self.desc[i] = self.desc[i].replace(self.executable, self.name)
  
      self.short_desc = self.desc[0]
      word_list = self.short_desc.split(' ')
      all_names = [ self.name, self.short_name, ]
      # Since the short_desc is always listed right after the name,
      #  trim it from the short_desc
      while word_list and (word_list[0] in all_names
                           or word_list[0].lower() in all_names):
        del word_list[0]
        self.short_desc = ''              # signal need to reconstruct
      if not self.short_desc and word_list:
        self.short_desc = ' '.join(word_list)
docs: Filter parsed data to create derived fields.