Files @ 5f1850e4712a
Branch filter:

Location: kallithea/rhodecode/lib/vcs/utils/imports.py

Mads Kiilerich
"Users groups" is grammatically incorrect English - rename to "user groups"

- and same story with "repositories groups"

This will only change the user facing texts. Names of files, modules, functions
and variables should be changed too.
from rhodecode.lib.vcs.exceptions import VCSError


def import_class(class_path):
    """
    Returns class from the given path.

    For example, in order to get class located at
    ``vcs.backends.hg.MercurialRepository``:

        try:
            hgrepo = import_class('vcs.backends.hg.MercurialRepository')
        except VCSError:
            # hadle error
    """
    splitted = class_path.split('.')
    mod_path = '.'.join(splitted[:-1])
    class_name = splitted[-1]
    try:
        class_mod = __import__(mod_path, {}, {}, [class_name])
    except ImportError, err:
        msg = "There was problem while trying to import backend class. "\
            "Original error was:\n%s" % err
        raise VCSError(msg)
    cls = getattr(class_mod, class_name)

    return cls