From 835e7dc46a875aadf93f83345ce970735e5ede40 Mon Sep 17 00:00:00 2001 From: Andre D Date: Wed, 29 May 2013 14:33:49 -0700 Subject: [PATCH] banning: Bulk load banned relations. --- r2/r2/lib/pages/pages.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/r2/r2/lib/pages/pages.py b/r2/r2/lib/pages/pages.py index 5b6f6aaee..48e5473c3 100755 --- a/r2/r2/lib/pages/pages.py +++ b/r2/r2/lib/pages/pages.py @@ -20,6 +20,8 @@ # Inc. All Rights Reserved. ############################################################################### +from collections import OrderedDict + from r2.lib.wrapped import Wrapped, Templated, CachedTemplate from r2.models import Account, FakeAccount, DefaultSR, make_feedurl from r2.models import FakeSubreddit, Subreddit, SubSR, AllMinus, AllSR @@ -3097,10 +3099,12 @@ class BannedList(UserList): def __init__(self, *k, **kw): UserList.__init__(self, *k, **kw) + rels = getattr(c.site, 'each_%s' % self.type) + self.rels = OrderedDict((rel._thing2_id, rel) for rel in rels()) self.cells += ('note',) def user_row(self, row_type, user, editable=True): - rel = getattr(c.site, 'get_%s' % self.type)(user) + rel = self.rels.get(user._id, None) return UserTableItem(user, row_type, self.cells, self.container_name, editable, self.remove_action, rel) @@ -3113,15 +3117,12 @@ class BannedList(UserList): return _('banned users') def user_ids(self): - return c.site.banned + return self.rels.keys() class WikiBannedList(BannedList): """List of users banned from editing a given wiki""" type = 'wikibanned' - def user_ids(self): - return c.site.wikibanned - class WikiMayContributeList(UserList): """List of users allowed to contribute to a given wiki""" type = 'wikicontributor'