diff pylons_app/controllers/files.py @ 149:b3c93efd1c97

Updated template for summary (archives links) added nex prev revision to file browser. updated logic in files to implement next and prev revison switch
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 12 May 2010 10:29:41 +0200
parents 873fd2dc62c2
children 0c00fbaff55a
line wrap: on
line diff
--- 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')