Files
@ b2575bdb847c
Branch filter:
Location: kallithea/rhodecode/lib/vcs/utils/imports.py - annotation
b2575bdb847c
781 B
text/x-python
diffs: drop diffs.differ
This function did not really add any value, it was yet another layer that was
hiding the bug that we use ref[1] without ref[0], and it had this strange
undefined behaviour for diffing across repos.
Inlining the call to .get_diff do not make the code more complex but makes it
more obvious what is going on so it can be cleaned up later.
This function did not really add any value, it was yet another layer that was
hiding the bug that we use ref[1] without ref[0], and it had this strange
undefined behaviour for diffing across repos.
Inlining the call to .get_diff do not make the code more complex but makes it
more obvious what is going on so it can be cleaned up later.
324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da | 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
|