From d8c9db9af89b10bbf471f498a7988b90ab048cd7 Mon Sep 17 00:00:00 2001 From: bsimpson63 Date: Mon, 25 Feb 2013 15:25:58 -0500 Subject: [PATCH] CampaignBuilder don't combine campaigns on same link. --- r2/r2/models/builder.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/r2/r2/models/builder.py b/r2/r2/models/builder.py index a2b54d9d6..2e6fd4909 100755 --- a/r2/r2/models/builder.py +++ b/r2/r2/models/builder.py @@ -43,6 +43,7 @@ from r2.lib.utils import Storage from r2.models.wiki import WIKI_RECENT_DAYS +from collections import defaultdict import time from admintools import compute_votes, admintools, ip_span @@ -511,11 +512,13 @@ class CampaignBuilder(IDBuilder): def wrap_items(self, items): links = [i.thing for i in items] wrapped = IDBuilder.wrap_items(self, links) - by_link = {w._fullname: w for w in wrapped} + by_link = defaultdict(list) + for w in wrapped: + by_link[w._fullname].append(w) ret = [] for i in items: - w = by_link[i.thing._fullname] + w = by_link[i.thing._fullname].pop() w.campaign = i.campaign w.weight = i.weight ret.append(w)