##// END OF EJS Templates

File last commit:

r1440:b074dfa5 beta
r1477:6f1439ef merge beta
Show More
branches.py
78 lines | 2.7 KiB | text/x-python | PythonLexer
updated docs on every controller
r861 # -*- coding: utf-8 -*-
"""
rhodecode.controllers.branches
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
branches controller for rhodecode
source code cleanup: remove trailing white space, normalize file endings
r1203
updated docs on every controller
r861 :created_on: Apr 21, 2010
:author: marcink
source code cleanup: remove trailing white space, normalize file endings
r1203 :copyright: (C) 2009-2011 Marcin Kuzminski <marcin@python-works.com>
updated docs on every controller
r861 :license: GPLv3, see COPYING for more details.
"""
fixed license issue #149
r1206 # 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, either version 3 of the License, or
# (at your option) any later version.
source code cleanup: remove trailing white space, normalize file endings
r1203 #
renamed project to rhodecode
r547 # 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.
source code cleanup: remove trailing white space, normalize file endings
r1203 #
renamed project to rhodecode
r547 # You should have received a copy of the GNU General Public License
fixed license issue #149
r1206 # along with this program. If not, see <http://www.gnu.org/licenses/>.
updated docs on every controller
r861
import logging
renamed project to rhodecode
r547 from pylons import tmpl_context as c
implements #195 added closed branches to detailed branches view
r1440 import binascii
updated docs on every controller
r861
renamed project to rhodecode
r547 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
another major codes rewrite:...
r1045 from rhodecode.lib.base import BaseRepoController, render
Changed OrderedDict implementation to pypy odict, in general it's the fastest and most reliable solution. Added OrderedTuple from python foundation.
r1337 from rhodecode.lib.odict import OrderedDict
implements #195 added closed branches to detailed branches view
r1440 from rhodecode.lib import safe_unicode
renamed project to rhodecode
r547 log = logging.getLogger(__name__)
pep8ify
r1212
another major codes rewrite:...
r1045 class BranchesController(BaseRepoController):
updated docs on every controller
r861
renamed project to rhodecode
r547 @LoginRequired()
updated docs on every controller
r861 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
'repository.admin')
renamed project to rhodecode
r547 def __before__(self):
super(BranchesController, self).__before__()
updated docs on every controller
r861
renamed project to rhodecode
r547 def index(self):
another major codes rewrite:...
r1045
implements #195 added closed branches to detailed branches view
r1440 def _branchtags(localrepo):
bt = {}
bt_closed = {}
for bn, heads in localrepo.branchmap().iteritems():
tip = heads[-1]
if 'close' not in localrepo.changelog.read(tip)[5]:
bt[bn] = tip
else:
bt_closed[bn] = tip
return bt, bt_closed
bt, bt_closed = _branchtags(c.rhodecode_repo._repo)
cs_g = c.rhodecode_repo.get_changeset
_branches = [(safe_unicode(n), cs_g(binascii.hexlify(h)),) for n, h in
bt.items()]
_closed_branches = [(safe_unicode(n), cs_g(binascii.hexlify(h)),) for n, h in
bt_closed.items()]
c.repo_branches = OrderedDict(sorted(_branches,
key=lambda ctx: ctx[0],
reverse=False))
c.repo_closed_branches = OrderedDict(sorted(_closed_branches,
key=lambda ctx: ctx[0],
reverse=False))
updated docs on every controller
r861
renamed project to rhodecode
r547 return render('branches/branches.html')