@@ -118,49 +118,49 @@ class ScmModel(BaseModel):
return repos_list
def get_repos(self, all_repos=None):
"""Get all repos from db and for each repo create it's
backend instance and fill that backed with information from database
:param all_repos: give specific repositories list, good for filtering
this have to be a list of just the repository names
"""
if all_repos is None:
repos = self.sa.query(Repository)\
.order_by(Repository.repo_name).all()
all_repos = [r.repo_name for r in repos]
#get the repositories that should be invalidated
invalidation_list = [str(x.cache_key) for x in \
self.sa.query(CacheInvalidation.cache_key)\
.filter(CacheInvalidation.cache_active == False)\
.all()]
for r_name in all_repos:
r_dbr = self.get(r_name, invalidation_list)
if r_dbr is not None:
repo, dbrepo = r_dbr
if repo is None and dbrepo is None:
if repo is None or dbrepo is None:
log.error('Repository %s looks somehow corrupted', r_name)
continue
last_change = repo.last_change
tip = h.get_changeset_safe(repo, 'tip')
tmp_d = {}
tmp_d['name'] = dbrepo.repo_name
tmp_d['name_sort'] = tmp_d['name'].lower()
tmp_d['description'] = dbrepo.description
tmp_d['description_sort'] = tmp_d['description']
tmp_d['last_change'] = last_change
tmp_d['last_change_sort'] = time.mktime(last_change \
.timetuple())
tmp_d['tip'] = tip.raw_id
tmp_d['tip_sort'] = tip.revision
tmp_d['rev'] = tip.revision
tmp_d['contact'] = dbrepo.user.full_contact
tmp_d['contact_sort'] = tmp_d['contact']
tmp_d['owner_sort'] = tmp_d['contact']
tmp_d['repo_archives'] = list(repo._get_archives())
tmp_d['last_msg'] = tip.message
tmp_d['repo'] = repo
tmp_d['dbrepo'] = dbrepo.get_dict()
tmp_d['dbrepo_fork'] = dbrepo.fork.get_dict() if dbrepo.fork \
Status change: