Files
@ 49c7e191c2cd
Branch filter:
Location: kallithea/pylons_app/controllers/hg.py - annotation
49c7e191c2cd
1.6 KiB
text/x-python
Implemented mercurial style diff-lib
564e40829f80 564e40829f80 aec4c0071cb3 aec4c0071cb3 aec4c0071cb3 aec4c0071cb3 aec4c0071cb3 aec4c0071cb3 71ffa932799d aec4c0071cb3 3142616771cd 71401840ed86 670713507d03 8fb1abd4178a aec4c0071cb3 aec4c0071cb3 aec4c0071cb3 525ed90e4577 564e40829f80 564e40829f80 fac1f62a1d71 fac1f62a1d71 71ffa932799d 670713507d03 670713507d03 e00dccb6f211 aec4c0071cb3 8fb1abd4178a aec4c0071cb3 aec4c0071cb3 aec4c0071cb3 aec4c0071cb3 aec4c0071cb3 e96bc5a01490 e00dccb6f211 e96bc5a01490 e96bc5a01490 e96bc5a01490 e96bc5a01490 e96bc5a01490 e96bc5a01490 e96bc5a01490 e96bc5a01490 e96bc5a01490 e96bc5a01490 e96bc5a01490 e00dccb6f211 | #!/usr/bin/python
# -*- coding: utf-8 -*-
from mako.template import Template
from mercurial.hg import repository
from mercurial.hgweb import hgweb
from mercurial.hgweb.request import wsgiapplication
from mercurial.localrepo import localrepository
from operator import itemgetter
from pylons import tmpl_context as c, app_globals as g, session, request, config
from pylons.controllers.util import abort
from pylons_app.lib import helpers as h
from pylons_app.lib.base import BaseController, render
from pylons_app.lib.utils import get_repo_slug
from pylons_app.model.hg_model import HgModel
import logging
import os
from beaker.cache import cache_region
log = logging.getLogger(__name__)
class HgController(BaseController):
def __before__(self):
c.repos_prefix = config['repos_name']
c.repo_name = get_repo_slug(request)
def index(self):
hg_model = HgModel()
@cache_region('short_term', 'repo_list')
def _list():
return list(hg_model.get_repos())
c.repos_list = _list()
c.current_sort = request.GET.get('sort', 'name')
cs = c.current_sort
c.cs_slug = cs.replace('-', '')
sortables = ['name', 'description', 'last_change', 'tip', 'contact']
if cs and c.cs_slug in sortables:
sort_key = c.cs_slug + '_sort'
if cs.startswith('-'):
c.repos_list.sort(key=itemgetter(sort_key), reverse=True)
else:
c.repos_list.sort(key=itemgetter(sort_key), reverse=False)
return render('/index.html')
|