# HG changeset patch # User Marcin Kuzminski # Date 2011-04-24 17:36:09 # Node ID faaadfc3c3598ddf0dfed8ca12dcaad759c879b7 # Parent 0d3706ccf1295929492bc73c665601f05f891f77 fixed condition evaluated for gitrepo that returned null, simplified scm functions diff --git a/rhodecode/lib/base.py b/rhodecode/lib/base.py --- a/rhodecode/lib/base.py +++ b/rhodecode/lib/base.py @@ -62,7 +62,8 @@ class BaseRepoController(BaseController) c.rhodecode_repo, dbrepo = self.scm_model.get(c.repo_name, retval='repo') - if c.rhodecode_repo: + + if c.rhodecode_repo is not None: c.repository_followers = self.scm_model.get_followers(c.repo_name) c.repository_forks = self.scm_model.get_forks(c.repo_name) else: diff --git a/rhodecode/model/scm.py b/rhodecode/model/scm.py --- a/rhodecode/model/scm.py +++ b/rhodecode/model/scm.py @@ -344,22 +344,18 @@ class ScmModel(BaseModel): return f is not None def get_followers(self, repo_id): - if isinstance(repo_id, int): - return self.sa.query(UserFollowing)\ - .filter(UserFollowing.follows_repo_id == repo_id).count() - else: - return self.sa.query(UserFollowing)\ - .filter(UserFollowing.follows_repository \ - == RepoModel().get_by_repo_name(repo_id)).count() + if not isinstance(repo_id, int): + repo_id = getattr(Repository.by_repo_name(repo_id), 'repo_id') + + return self.sa.query(UserFollowing)\ + .filter(UserFollowing.follows_repo_id == repo_id).count() def get_forks(self, repo_id): - if isinstance(repo_id, int): - return self.sa.query(Repository)\ + if not isinstance(repo_id, int): + repo_id = getattr(Repository.by_repo_name(repo_id), 'repo_id') + + return self.sa.query(Repository)\ .filter(Repository.fork_id == repo_id).count() - else: - return self.sa.query(Repository)\ - .filter(Repository.fork \ - == RepoModel().get_by_repo_name(repo_id)).count() def pull_changes(self, repo_name, username): repo, dbrepo = self.get(repo_name, retval='all')