changeset 1105:61c5f0ab24b9 beta

Added branch filter to repo pager fixed stop condition for building statistics
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 01 Mar 2011 10:05:43 +0100
parents af371e206ec5
children 5cbaeda8ec6f
files rhodecode/lib/celerylib/tasks.py rhodecode/lib/helpers.py
diffstat 2 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/celerylib/tasks.py	Sun Feb 27 22:25:06 2011 +0100
+++ b/rhodecode/lib/celerylib/tasks.py	Tue Mar 01 10:05:43 2011 +0100
@@ -115,12 +115,15 @@
         .filter(Repository.repo_name == repo_name).scalar()
     cur_stats = sa.query(Statistics)\
         .filter(Statistics.repository == dbrepo).scalar()
-    if cur_stats:
+
+    if cur_stats is not None:
         last_rev = cur_stats.stat_on_revision
+
+    #return if repo is empty
     if not repo.revisions:
         return True
 
-    if last_rev == repo.revisions[-1] and len(repo.revisions) > 1:
+    if last_rev == repo.get_changeset().revision and len(repo.revisions) > 1:
         #pass silently without any work if we're not on first revision or 
         #current state of parsing revision(from db marker) is the last revision
         return True
--- a/rhodecode/lib/helpers.py	Sun Feb 27 22:25:06 2011 +0100
+++ b/rhodecode/lib/helpers.py	Tue Mar 01 10:05:43 2011 +0100
@@ -584,7 +584,7 @@
 class RepoPage(Page):
 
     def __init__(self, collection, page=1, items_per_page=20,
-        item_count=None, url=None, **kwargs):
+        item_count=None, url=None, branch_name=None, **kwargs):
 
         """Create a "RepoPage" instance. special pager for paging
         repository
@@ -630,11 +630,12 @@
             # Note: the number of items on this page can be less than
             #       items_per_page if the last page is not full
             self.first_item = max(0, (self.item_count) - (self.page * items_per_page))
-            self.last_item = ((self.item_count - 1) - items_per_page * (self.page - 1)) + 1
+            self.last_item = ((self.item_count - 1) - items_per_page * (self.page - 1))
 
             iterator = self.collection.get_changesets(start=self.first_item,
                                                       end=self.last_item,
-                                                      reverse=True)
+                                                      reverse=True,
+                                                      branch_name=branch_name)
             self.items = list(iterator)
 
             # Links to previous and next page