##// END OF EJS Templates
raise na OSERROR if repository data sent from git hook to hook handler is somehow invalid
raise na OSERROR if repository data sent from git hook to hook handler is somehow invalid

File last commit:

r2007:324ac367 beta
r2818:3d0bd5f7 beta
Show More
imports.py
27 lines | 781 B | text/x-python | PythonLexer
Added VCS into rhodecode core for faster and easier deployments of new versions
r2007 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