##// END OF EJS Templates
Added VCS into rhodecode core for faster and easier deployments of new versions
Added VCS into rhodecode core for faster and easier deployments of new versions

File last commit:

r2007:324ac367 beta
r2007:324ac367 beta
Show More
imports.py
27 lines | 781 B | text/x-python | PythonLexer
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