Mercurial > kallithea
view rhodecode/lib/vcs/utils/imports.py @ 2212:727e1f922a89 beta
exclude the actual grep command in memwatch
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 30 Apr 2012 14:10:58 +0200 |
parents | 324ac367a4da |
children | 7e5f8c12a3fc |
line wrap: on
line source
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