# HG changeset patch # User Marcin Kuzminski # Date 1283500548 -7200 # Node ID c3236d7febadb2e6c56a6b835b203681bbdb6493 # Parent ac21f018f6befd7a09e11596074a0fb77ccbfc79 fixed, empty cs bug. Implemented as webhlepers function diff -r ac21f018f6be -r c3236d7febad pylons_app/lib/helpers.py --- a/pylons_app/lib/helpers.py Fri Sep 03 09:23:50 2010 +0200 +++ b/pylons_app/lib/helpers.py Fri Sep 03 09:55:48 2010 +0200 @@ -219,7 +219,7 @@ pygmentize function using pygments @param filenode: """ - return literal(code_highlight(filenode.content, + return literal(code_highlight(filenode.content, filenode.lexer, HtmlFormatter(**kwargs))) def pygmentize_annotation(filenode, **kwargs): @@ -239,11 +239,11 @@ h = 0.22717784590367374 #generate 10k nice web friendly colors in the same order for c in xrange(n): - h +=golden_ratio + h += golden_ratio h %= 1 HSV_tuple = [h, 0.95, 0.95] RGB_tuple = colorsys.hsv_to_rgb(*HSV_tuple) - yield map(lambda x:str(int(x*256)),RGB_tuple) + yield map(lambda x:str(int(x * 256)), RGB_tuple) cgenerator = gen_color() @@ -255,7 +255,7 @@ return "color: rgb(%s)! important;" % (', '.join(col)) def url_func(changeset): - tooltip_html = "
Author:"+\ + tooltip_html = "
Author:" + \ " %s
Date: %s
Message: %s
" tooltip_html = tooltip_html % (changeset.author, @@ -286,6 +286,21 @@ slug = recursive_replace(slug, '-') return slug +def get_changeset_safe(repo, rev): + from vcs.backends.base import BaseRepository + from vcs.exceptions import RepositoryError + if not isinstance(repo, BaseRepository): + raise Exception('You must pass an Repository ' + 'object as first argument got %s', type(repo)) + + try: + cs = repo.get_changeset(rev) + except RepositoryError: + from pylons_app.lib.utils import EmptyChangeset + cs = EmptyChangeset() + return cs + + flash = _Flash() @@ -351,4 +366,4 @@ #incase we have a decode error just represent as byte string u_str = unicode(str(str).encode('string_escape')) - return u_str \ No newline at end of file + return u_str diff -r ac21f018f6be -r c3236d7febad pylons_app/model/hg_model.py --- a/pylons_app/model/hg_model.py Fri Sep 03 09:23:50 2010 +0200 +++ b/pylons_app/model/hg_model.py Fri Sep 03 09:55:48 2010 +0200 @@ -29,7 +29,7 @@ from pylons_app.lib.auth import HasRepoPermissionAny from pylons_app.model import meta from pylons_app.model.db import Repository, User -from sqlalchemy.orm import joinedload +from pylons_app.lib import helpers as h from vcs.exceptions import RepositoryError, VCSError import logging import os @@ -151,11 +151,7 @@ continue last_change = repo.last_change - try: - tip = repo.get_changeset('tip') - except RepositoryError: - from pylons_app.lib.utils import EmptyChangeset - tip = EmptyChangeset() + tip = h.get_changeset_safe(repo, 'tip') tmp_d = {} tmp_d['name'] = repo.name diff -r ac21f018f6be -r c3236d7febad pylons_app/templates/admin/users/user_edit_my_account.html --- a/pylons_app/templates/admin/users/user_edit_my_account.html Fri Sep 03 09:23:50 2010 +0200 +++ b/pylons_app/templates/admin/users/user_edit_my_account.html Fri Sep 03 09:55:48 2010 +0200 @@ -98,7 +98,7 @@ %endif ${h.link_to(repo.name, h.url('summary_home',repo_name=repo.name))} - ${_('revision')}: ${repo.revisions[-1]} + ${_('revision')}: ${h.get_changeset_safe(repo,'tip').revision} ${_('last changed')}: ${h.age(repo.last_change)} ${_('private')} ${h.link_to(_('edit'),h.url('edit_repo',repo_name=repo.name))}