Adds the plugin path for this class to the given path.  The inputted
        pluginpath value can either be a list of strings, or a string
        containing paths separated by the OS specific path separator (':' on
        Mac & Linux, ';' on Windows)
        
        :param      pluginpath | [<str>, ..] || <str>

def addPluginPath(cls, pluginpath):
        """
        Adds the plugin path for this class to the given path.  The inputted
        pluginpath value can either be a list of strings, or a string
        containing paths separated by the OS specific path separator (':' on
        Mac & Linux, ';' on Windows)
        
        :param      pluginpath | [<str>, ..] || <str>
        """
        prop_key = '_%s__pluginpath' % cls.__name__
        curr_path = getattr(cls, prop_key, None)
        if not curr_path:
            curr_path = []
            setattr(cls, prop_key, curr_path)

        if isinstance(pluginpath, basestring):
            pluginpath = pluginpath.split(os.path.pathsep)

        for path in pluginpath:
            if not path:
                continue

            path = os.path.expanduser(os.path.expandvars(path))
            paths = path.split(os.path.pathsep)

            if len(paths) > 1:
                cls.addPluginPath(paths)
            else:
                curr_path.append(path)