#!/usr/bin/env python# encoding: utf-8# hg controller for pylons# Copyright (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com># # This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License# as published by the Free Software Foundation; version 2# of the License or (at your opinion) any later version of the license.# # This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.# # You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,# MA 02110-1301, USA."""Created on February 18, 2010hg controller for pylons@author: marcink"""fromoperatorimportitemgetterfrompylonsimporttmpl_contextasc,requestfromrhodecode.lib.authimportLoginRequiredfromrhodecode.lib.baseimportBaseController,renderfromrhodecode.model.hg_modelimportHgModelimportlogginglog=logging.getLogger(__name__)classHgController(BaseController):@LoginRequired()def__before__(self):super(HgController,self).__before__()defindex(self):sortables=['name','description','last_change','tip','contact']current_sort=request.GET.get('sort','name')current_sort_slug=current_sort.replace('-','')ifcurrent_sort_slugnotinsortables:c.sort_by='name'current_sort_slug=c.sort_byelse:c.sort_by=current_sortc.sort_slug=current_sort_slugcached_repo_list=HgModel().get_repos()sort_key=current_sort_slug+'_sort'ifc.sort_by.startswith('-'):c.repos_list=sorted(cached_repo_list,key=itemgetter(sort_key),reverse=True)else:c.repos_list=sorted(cached_repo_list,key=itemgetter(sort_key),reverse=False)returnrender('/index.html')