comparison pylons_app/model/hg_model.py @ 376:7fbf81447c6c

Fixes #18, removing user, who owns some repositories
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 30 Jul 2010 22:12:06 +0200
parents 3171614c0067
children c3236d7febad
comparison
equal deleted inserted replaced
375:3e55d9981c0e 376:7fbf81447c6c
26 from mercurial import ui 26 from mercurial import ui
27 from mercurial.hgweb.hgwebdir_mod import findrepos 27 from mercurial.hgweb.hgwebdir_mod import findrepos
28 from pylons.i18n.translation import _ 28 from pylons.i18n.translation import _
29 from pylons_app.lib.auth import HasRepoPermissionAny 29 from pylons_app.lib.auth import HasRepoPermissionAny
30 from pylons_app.model import meta 30 from pylons_app.model import meta
31 from pylons_app.model.db import Repository 31 from pylons_app.model.db import Repository, User
32 from sqlalchemy.orm import joinedload 32 from sqlalchemy.orm import joinedload
33 from vcs.exceptions import RepositoryError, VCSError 33 from vcs.exceptions import RepositoryError, VCSError
34 import logging 34 import logging
35 import os 35 import os
36 import sys 36 import sys
132 132
133 if dbrepo: 133 if dbrepo:
134 log.info('Adding db instance to cached list') 134 log.info('Adding db instance to cached list')
135 repos_list[name].dbrepo = dbrepo 135 repos_list[name].dbrepo = dbrepo
136 repos_list[name].description = dbrepo.description 136 repos_list[name].description = dbrepo.description
137 repos_list[name].contact = dbrepo.user.full_contact 137 if dbrepo.user:
138 repos_list[name].contact = dbrepo.user.full_contact
139 else:
140 repos_list[name].contact = sa.query(User)\
141 .filter(User.admin == True).first().full_contact
138 except OSError: 142 except OSError:
139 continue 143 continue
140 meta.Session.remove() 144 meta.Session.remove()
141 return repos_list 145 return repos_list
142 146