code: def get_tools(whitelist, known_plugins):
      
      def getpath(c):
          return "%s:%s" % (c.__module__, c.__class__.__name__)
  
      tools = [x for x in known_plugins if getpath(x) in whitelist]
  
      if not tools:
          if whitelist:
              raise UnknownTools(map(getpath, known_plugins))
          tools = known_plugins
      return tools
docs: Filter all known plugins by a whitelist specified. If the whitelist is
      empty, default to all plugins.