changeset 6642:13879d044762

validators: wrap hgsubversion import with try/except block like in settings.py Found by pylint.
author domruf <dominikruf@gmail.com>
date Wed, 10 May 2017 20:13:24 +0200
parents 169dc4bd9d5b
children 4897dffd46b6
files kallithea/model/validators.py
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/model/validators.py	Tue May 09 21:38:00 2017 +0200
+++ b/kallithea/model/validators.py	Wed May 10 20:13:24 2017 +0200
@@ -34,7 +34,7 @@
 from kallithea.lib.utils import repo_name_slug
 from kallithea.lib.utils2 import str2bool, aslist
 from kallithea.model.db import RepoGroup, Repository, UserGroup, User
-from kallithea.lib.exceptions import LdapImportError
+from kallithea.lib.exceptions import LdapImportError, HgsubversionImportError
 from kallithea.config.routing import ADMIN_PREFIX
 from kallithea.lib.auth import HasRepoGroupPermissionLevel, HasPermissionAny
 
@@ -420,7 +420,11 @@
                 # or does it pass basic auth
                 MercurialRepository._check_url(url, ui)
             elif url.startswith('svn+http'):
-                from hgsubversion.svnrepo import svnremoterepo
+                try:
+                    from hgsubversion.svnrepo import svnremoterepo
+                except ImportError:
+                    raise HgsubversionImportError(_('Unable to activate hgsubversion support. '
+                          'The "hgsubversion" library is missing'))
                 svnremoterepo(ui, url).svn.uuid
             elif url.startswith('git+http'):
                 raise NotImplementedError()