Mercurial > public > src > rhodecode
changeset 260:6ada8c223374
made global funcion to clean repo names, and remove all special chars from the name.
Switched message slug into webhelpers function
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 06 Jun 2010 21:54:54 +0200 |
parents | dee1913f7f5a |
children | 576e85ca1b0b |
files | pylons_app/controllers/error.py pylons_app/lib/filters.py pylons_app/lib/helpers.py pylons_app/templates/base/base.html pylons_app/templates/index.html pylons_app/templates/shortlog/shortlog_data.html pylons_app/templates/summary/summary.html |
diffstat | 7 files changed, 35 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/pylons_app/controllers/error.py Sun Jun 06 10:57:49 2010 +0200 +++ b/pylons_app/controllers/error.py Sun Jun 06 21:54:54 2010 +0200 @@ -8,7 +8,7 @@ from pylons_app.lib.base import BaseController, render from pylons.middleware import media_path from pylons_app.lib.utils import check_repo -from pylons_app.lib.filters import clean_repo +import pylons_app.lib.helpers as h log = logging.getLogger(__name__) class ErrorController(BaseController): @@ -39,7 +39,7 @@ if resp.status_int == 404: org_e = request.environ.get('pylons.original_request').environ c.repo_name = repo_name = org_e['PATH_INFO'].split('/')[1] - c.repo_name_cleaned = clean_repo(c.repo_name) + c.repo_name_cleaned = h.repo_name_slug(c.repo_name) if check_repo(repo_name, g.base_path): return render('/errors/error_404.html')
--- a/pylons_app/lib/filters.py Sun Jun 06 10:57:49 2010 +0200 +++ b/pylons_app/lib/filters.py Sun Jun 06 21:54:54 2010 +0200 @@ -26,14 +26,6 @@ from mercurial import util from mercurial.templatefilters import age as _age, person as _person -from string import punctuation - -def clean_repo(repo_name): - for x in punctuation: - if x != '_': - repo_name = repo_name.replace(x, '') - repo_name = repo_name.lower().strip() - return repo_name.replace(' ', '_') age = lambda x:_age(x) capitalize = lambda x: x.capitalize()
--- a/pylons_app/lib/helpers.py Sun Jun 06 10:57:49 2010 +0200 +++ b/pylons_app/lib/helpers.py Sun Jun 06 21:54:54 2010 +0200 @@ -21,7 +21,7 @@ from webhelpers.pylonslib.secure_form import secure_form from webhelpers.text import chop_at, collapse, convert_accented_entities, \ convert_misc_entities, lchop, plural, rchop, remove_formatting, \ - replace_whitespace, urlify + replace_whitespace, urlify, truncate #Custom helper here :) @@ -92,6 +92,35 @@ return literal(annotate_highlight(filenode, url_func, **kwargs)) +def recursive_replace(str, replace=' '): + """ + Recursive replace of given sign to just one instance + @param str: given string + @param replace:char to find and replace multiple instances + + Examples:: + >>> recursive_replace("Mighty---Mighty-Bo--sstones",'-') + 'Mighty-Mighty-Bo-sstones' + """ + + if str.find(replace * 2) == -1: + return str + else: + str = str.replace(replace * 2, replace) + return recursive_replace(str, replace) + +def repo_name_slug(value): + """ + Return slug of name of repository + """ + slug = urlify(value) + for c in """=[]\;',/~!@#$%^&*()+{}|:""": + slug = slug.replace(c, '-') + print slug + slug = recursive_replace(slug, '-') + print slug + return slug + files_breadcrumbs = _FilesBreadCrumbs() link = _Link() flash = _Flash()
--- a/pylons_app/templates/base/base.html Sun Jun 06 10:57:49 2010 +0200 +++ b/pylons_app/templates/base/base.html Sun Jun 06 21:54:54 2010 +0200 @@ -151,15 +151,4 @@ </span> %endif %endif -</%def> - -<!-- SHORTER LONGER STRINGS --> -<%def name="message_slug(msg)"> - <% - limit = 60 - if len(msg) > limit: - return msg[:limit]+'...' - else: - return msg - %> </%def> \ No newline at end of file
--- a/pylons_app/templates/index.html Sun Jun 06 10:57:49 2010 +0200 +++ b/pylons_app/templates/index.html Sun Jun 06 21:54:54 2010 +0200 @@ -37,7 +37,7 @@ %for cnt,repo in enumerate(c.repos_list): <tr class="parity${cnt%2}"> <td>${h.link(repo['name'],h.url('summary_home',repo_name=repo['name']))}</td> - <td title="${repo['description']}">${self.message_slug(repo['description'])}</td> + <td title="${repo['description']}">${h.truncate(repo['description'],60)}</td> <td>${repo['last_change']|n,filters.age}</td> <td>${h.link_to('r%s:%s' % (repo['rev'],repo['tip']),h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']))}</td> <td title="${repo['contact']}">${repo['contact']|n,filters.person}</td>
--- a/pylons_app/templates/shortlog/shortlog_data.html Sun Jun 06 10:57:49 2010 +0200 +++ b/pylons_app/templates/shortlog/shortlog_data.html Sun Jun 06 21:54:54 2010 +0200 @@ -9,7 +9,7 @@ <td title="${cs.author}">${cs.author|n,filters.person}</td> <td>r${cs.revision}</td> <td> - ${h.link_to(self.message_slug(cs.message), + ${h.link_to(h.truncate(cs.message,60), h.url('changeset_home',repo_name=c.repo_name,revision=cs._short), title=cs.message)} </td>
--- a/pylons_app/templates/summary/summary.html Sun Jun 06 10:57:49 2010 +0200 +++ b/pylons_app/templates/summary/summary.html Sun Jun 06 21:54:54 2010 +0200 @@ -64,22 +64,13 @@ <h2>${h.link_to(_('Changes'),h.url('changelog_home',repo_name=c.repo_name))}</h2> <table> - <%def name="message_slug(msg)"> - <% - limit = 60 - if len(msg) > limit: - return msg[:limit]+'...' - else: - return msg - %> - </%def> %for cnt,cs in enumerate(c.repo_changesets): <tr class="parity${cnt%2}"> <td>${cs._ctx.date()|n,filters.age}</td> <td>${cs.author|n,filters.person}</td> <td>r${cs.revision}</td> <td> - ${h.link_to(message_slug(cs.message), + ${h.link_to(truncate(cs.message,60), h.url('changeset_home',repo_name=c.repo_name,revision=cs._short), title=cs.message)} </td>