From bbdb8e4045e00cafe1c07c7b71a8ce3afa3e5230 Mon Sep 17 00:00:00 2001 From: Max Goodman Date: Wed, 1 May 2013 13:46:47 -0700 Subject: [PATCH] Collapse minor edits into policy page revisions. --- r2/r2/controllers/policies.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/r2/r2/controllers/policies.py b/r2/r2/controllers/policies.py index c6cc34338..67f277a25 100644 --- a/r2/r2/controllers/policies.py +++ b/r2/r2/controllers/policies.py @@ -49,17 +49,23 @@ class PoliciesController(RedditController): wp = WikiPage.get(Frontpage, wiki_name) revs = list(wp.get_revisions()) - visible_revs = [ - rev for rev in revs - if rev._get('reason') and not rev.is_hidden - ] - rev_info = [{ - 'id': str(rev._id), - 'title': rev._get('reason'), - } for rev in visible_revs] - # latest revision content is always the latest wiki rev - rev_info[0]['id'] = str(revs[0]._id) + # collapse minor edits into revisions with reasons + rev_info = [] + last_edit = None + for rev in revs: + if rev.is_hidden: + continue + + if not last_edit: + last_edit = rev + + if rev._get('reason'): + rev_info.append({ + 'id': str(last_edit._id), + 'title': rev._get('reason'), + }) + last_edit = None if requested_rev: try: