code: def extend_path(path, name):
      
      if not isinstance(path, list):
          # This could happen e.g. when this is called from inside a
          # frozen package.  Return the path unchanged in that case.
          return path
  
      pname = os.path.join(*name.split('.'))  # Reconstitute as relative path
      # Just in case os.extsep != '.'
      init_py = "__init__" + os.extsep + "py"
      path = path[:]
  
      for dir in config.plugin_path:
          if not os.path.isdir(dir):
              if config.debug("plugins"):
                  print_debug("skipped nonexistant rez plugin path: %s" % dir)
              continue
  
          subdir = os.path.join(dir, pname)
          # XXX This may still add duplicate entries to path on
          # case-insensitive filesystems
          initfile = os.path.join(subdir, init_py)
          if subdir not in path and os.path.isfile(initfile):
              path.append(subdir)
  
      return path
docs: Extend a package's path.
  
      Intended use is to place the following code in a package's __init__.py:
  
          from pkgutil import extend_path
          __path__ = extend_path(__path__, __name__)
  
      This will add to the package's __path__ all subdirectories of
      directories on 'config.plugin_path' named after the package.  This is
      useful if one wants to distribute different parts of a single logical
      package as multiple directories.
  
      If the input path is not a list (as is the case for frozen
      packages) it is returned unchanged.  The input path is not
      modified; an extended copy is returned.  Items are only appended
      to the copy at the end.
  
      It is assumed that 'plugin_path' is a sequence.  Items of 'plugin_path'
      that are not (unicode or 8-bit) strings referring to existing
      directories are ignored.  Unicode items of sys.path that cause
      errors when used as filenames may cause this function to raise an
      exception (in line with os.path.isdir() behavior).