← Back to team overview

savoirfairelinux-openerp team mailing list archive

[Merge] lp:~savoirfairelinux-openerp/lp-community-utils/better-age into lp:lp-community-utils

 

Sandy Carter (http://www.savoirfairelinux.com) has proposed merging lp:~savoirfairelinux-openerp/lp-community-utils/better-age into lp:lp-community-utils.

Requested reviews:
  OpenERP Community Reviewer/Maintainer (openerp-community-reviewer)

For more details, see:
https://code.launchpad.net/~savoirfairelinux-openerp/lp-community-utils/better-age/+merge/211083

This changes a bit how the MPs are sorted.

First of all, there is a fix of a 1 off error: proposals done on the same day showed 1 days old.

Secondly, the age shown has been changed to the date of the last change on the source branch.
This means if I did an MP 60 days ago and made a sudden change yesterday, the age will set to 1.
-- 
https://code.launchpad.net/~savoirfairelinux-openerp/lp-community-utils/better-age/+merge/211083
Your team Savoir-faire Linux' OpenERP is subscribed to branch lp:~savoirfairelinux-openerp/lp-community-utils/better-age.
=== modified file 'openerp-nag'
--- openerp-nag	2014-02-20 16:18:06 +0000
+++ openerp-nag	2014-03-14 16:14:53 +0000
@@ -196,7 +196,9 @@
         if proposal.date_merged is not None:
             continue
         votes = Votes(proposal.votes)
-
+        # Get the age from of the last change to the proposed branch
+        review_age = now - max(proposal.source_branch.date_last_modified,
+                               proposal.date_review_requested)
         # Nag about missing commit message on merge requests
         if policy.mps_need_commit_message and proposal.commit_message is None:
             yield Nag(
@@ -205,13 +207,12 @@
                 subject=proposal.web_link,
                 sort_class=SORT_CLASS_MERGE,
                 sort_priority=None,  # TODO: get from max(linked bugs)
-                sort_age=(proposal.date_review_requested - now).days,
+                sort_age=review_age.days,
                 project_name=project.name,
                 votes=votes,
             )
 
-        age = (now - proposal.date_review_requested).days
-
+        # Nag about approved merges
         if (votes.approve == votes.total(for_approval=True) and
                 (votes.approve >= policy.approvals_to_bypass or
                  votes.approve >= policy.min_approve and
@@ -222,21 +223,21 @@
                 subject=proposal.web_link,
                 sort_class=SORT_CLASS_MERGE,
                 sort_priority=None,  # TODO: get from max(linked bugs)
-                sort_age=(proposal.date_review_requested - now).days,
+                sort_age=review_age.days,
                 project_name=project.name,
                 votes=votes,
             )
             continue
 
         # Nag about aging merge requests
-        if age >= policy.max_review_age:
+        if review_age.days >= policy.max_review_age:
             yield Nag(
                 person='Someone',
                 action="review the merge request",
                 subject=proposal.web_link,
                 sort_class=SORT_CLASS_MERGE,
                 sort_priority=None,  # TODO: get from max(linked bugs)
-                sort_age=(proposal.date_review_requested - now).days,
+                sort_age=review_age.days,
                 project_name=project.name,
                 votes=votes,
             )
@@ -336,14 +337,14 @@
         progress.finish()
 
     nags.sort(key=lambda nag: (nag.sort_class, nag.sort_priority,
-                               nag.sort_age))
+                               -nag.sort_age))
     print("=" * 80)
     print("Done thinking, here's the nag list".center(80))
     print("=" * 80)
     for index1, nag in enumerate(nags, 1):
         print("{index1:-2}: [age {age}] (votes {votes}) {person} should {action} {subject} "
               "on the project {project}".format(
-                  index1=index1, age=(nag.sort_age and -nag.sort_age), person=nag.person,
+                  index1=index1, age=nag.sort_age, person=nag.person,
                   action=nag.action, subject=nag.subject, project=nag.project_name,
                   votes=nag.votes or ''))
 


Follow ups