# HG changeset patch # User Marcin Kuzminski # Date 1273652981 -7200 # Node ID b3c93efd1c977a5c097eb6391d5e43fe62e18425 # Parent d928d5f0a25182f13b4e557f52bb7ecb1bdfb31c Updated template for summary (archives links) added nex prev revision to file browser. updated logic in files to implement next and prev revison switch diff -r d928d5f0a251 -r b3c93efd1c97 pylons_app/config/routing.py --- a/pylons_app/config/routing.py Tue May 11 22:23:16 2010 +0200 +++ b/pylons_app/config/routing.py Wed May 12 10:29:41 2010 +0200 @@ -29,7 +29,8 @@ #ADMIN with map.submapper(path_prefix='/_admin', controller='admin') as m: m.connect('admin_home', '/', action='index')#main page - m.connect('admin_add_repo', '/add_repo/{new_repo:[a-z0-9\. _-]*}', action='add_repo') + m.connect('admin_add_repo', '/add_repo/{new_repo:[a-z0-9\. _-]*}', + action='add_repo') map.connect('changeset_home', '/{repo_name}/changeset/{revision}', @@ -50,4 +51,6 @@ controller='files', action='diff', revision='tip', f_path='') map.connect('files_raw_home', '/{repo_name}/rawfile/{revision}/{f_path:.*}', controller='files', action='rawfile', revision='tip', f_path='') + map.connect('files_archive_home', '/{repo_name}/archive/{revision}/{fileformat}', + controller='files', action='archivefile', revision='tip') return map diff -r d928d5f0a251 -r b3c93efd1c97 pylons_app/controllers/files.py --- a/pylons_app/controllers/files.py Tue May 11 22:23:16 2010 +0200 +++ b/pylons_app/controllers/files.py Wed May 12 10:29:41 2010 +0200 @@ -20,21 +20,33 @@ def index(self, repo_name, revision, f_path): hg_model = HgModel() c.repo = repo = hg_model.get_repo(c.repo_name) + revision = request.POST.get('at_rev', None) or revision - revision = request.POST.get('at_rev', None) or revision - if request.POST.get('view_low'): - revision = int(revision) - 1 - if request.POST.get('view_high'): - revision = int(revision) + 1 + def get_next_rev(cur): max_rev = len(c.repo.revisions) - 1 - if revision > max_rev: - revision = max_rev - + r = cur + 1 + if r > max_rev: + r = max_rev + return r + + def get_prev_rev(cur): + r = cur - 1 + return r + c.f_path = f_path - + try: - c.changeset = repo.get_changeset(repo._get_revision(revision)) + cur_rev = repo.get_changeset(revision).revision + prev_rev = repo.get_changeset(get_prev_rev(cur_rev)).raw_id + next_rev = repo.get_changeset(get_next_rev(cur_rev)).raw_id + + c.url_prev = url('files_home', repo_name=c.repo_name, + revision=prev_rev, f_path=f_path) + c.url_next = url('files_home', repo_name=c.repo_name, + revision=next_rev, f_path=f_path) + + c.changeset = repo.get_changeset(revision) try: c.file_msg = c.changeset.get_file_message(f_path) except: @@ -59,6 +71,9 @@ % f_path.split('/')[-1] return file_node.content + def archivefile(self, repo_name, revision, fileformat): + return '%s %s %s' % (repo_name, revision, fileformat) + def diff(self, repo_name, f_path): hg_model = HgModel() diff1 = request.GET.get('diff1') diff -r d928d5f0a251 -r b3c93efd1c97 pylons_app/templates/files/files_browser.html --- a/pylons_app/templates/files/files_browser.html Tue May 11 22:23:16 2010 +0200 +++ b/pylons_app/templates/files/files_browser.html Wed May 12 10:29:41 2010 +0200 @@ -8,11 +8,11 @@
${h.form(h.url.current())} - ${_('view')}@rev ${h.submit('view_low','-')}${h.text('at_rev',value=c.rev_nr,size='5')}${h.submit('view_high','+')} + ${_('view')}@rev «${h.text('at_rev',value=c.rev_nr,size='5')}» ${h.submit('view','view')} ${h.end_form()}
-
+
diff -r d928d5f0a251 -r b3c93efd1c97 pylons_app/templates/summary.html --- a/pylons_app/templates/summary.html Tue May 11 22:23:16 2010 +0200 +++ b/pylons_app/templates/summary.html Wed May 12 10:29:41 2010 +0200 @@ -38,12 +38,14 @@
hg clone ${c.clone_repo_url}
${_('Download')}
- %for archive in c.repo_info._get_archives(): - | - ${c.repo_info.name}.${archive['type']} - + %for cnt,archive in enumerate(c.repo_info._get_archives()): + %if cnt >=1: + | + %endif + ${h.link_to(c.repo_info.name+'.'+archive['type'], + h.url('files_archive_home',repo_name=c.repo_info.name, + revision='tip',fileformat=archive['extension']))} %endfor - |