docs: def detect_traits(name=None, alias=None, filetype=None):
      """ Build traits list from passed attributes.
  
          The result is a list of hierarchical classifiers, the top-level
          consisting of "audio", "movie", "tv", "video", "document", etc.
          It can be used as a part of completion paths to build directory
          structures.
      """
      result = []
      if filetype:
          filetype = filetype.lstrip('.')
  
      # Check for "themed" trackers
      theme = config.traits_by_alias.get(alias)
      if alias and theme:
          result = [theme, filetype or "other"]
  
      # Guess from file extensionn and name
      elif filetype in KIND_AUDIO:
          result = ["audio", filetype]
      elif filetype in KIND_VIDEO:
          result = ["video", filetype]
  
          contents = name_trait(name)
          if contents:
              result = [contents, filetype]
      elif filetype in KIND_IMAGE:
          result = ["img", filetype]
      elif filetype in KIND_DOCS:
          result = ["docs", filetype]
      elif filetype in KIND_ARCHIVE:
          result = ["misc", filetype]
  
          contents = name_trait(name)
          if contents:
              result = [contents, filetype]
  
      return result