mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-01-27 07:48:16 -05:00
Don't choke on banned sr in multireddit.
This commit is contained in:
@@ -871,23 +871,28 @@ class MultiReddit(_DefaultSR):
|
||||
self.real_path = path
|
||||
self.sr_ids = sr_ids
|
||||
|
||||
def spammy(self):
|
||||
srs = Subreddit._byID(self.sr_ids, return_dict=False)
|
||||
return any(sr._spam for sr in srs)
|
||||
self.banned_sr_ids = []
|
||||
self.kept_sr_ids = []
|
||||
for sr in srs:
|
||||
if sr._spam:
|
||||
self.banned_sr_ids.append(sr._id)
|
||||
else:
|
||||
self.kept_sr_ids.append(sr._id)
|
||||
|
||||
@property
|
||||
def path(self):
|
||||
return '/r/' + self.real_path
|
||||
|
||||
def get_links(self, sort, time):
|
||||
return self.get_links_sr_ids(self.sr_ids, sort, time)
|
||||
return self.get_links_sr_ids(self.kept_sr_ids, sort, time)
|
||||
|
||||
def rising_srs(self):
|
||||
return self.sr_ids
|
||||
return self.kept_sr_ids
|
||||
|
||||
def get_all_comments(self):
|
||||
from r2.lib.db.queries import get_sr_comments, merge_results
|
||||
srs = Subreddit._byID(self.sr_ids, return_dict=False)
|
||||
srs = Subreddit._byID(self.kept_sr_ids, return_dict=False)
|
||||
results = [get_sr_comments(sr) for sr in srs]
|
||||
return merge_results(*results)
|
||||
|
||||
|
||||
@@ -22,6 +22,11 @@
|
||||
<%namespace file="utils.html" import="plain_link"/>
|
||||
<%namespace file="subreddit.html" import="addremove_button, permission_icons"/>
|
||||
|
||||
<%
|
||||
from r2.models import MultiReddit
|
||||
is_multi = isinstance(c.site, MultiReddit)
|
||||
%>
|
||||
|
||||
<div class="subscription-box">
|
||||
% if thing.prelink or thing.goldlink:
|
||||
<div class="box-top">
|
||||
@@ -45,10 +50,21 @@
|
||||
% endif
|
||||
<ul>
|
||||
%for sr in thing.reddits:
|
||||
<% is_spam = hasattr(sr, "_spam") and sr._spam %>
|
||||
<li>
|
||||
${addremove_button(sr)}
|
||||
${plain_link(sr.name, sr.path, _class="title")}
|
||||
${permission_icons(sr)}
|
||||
%if is_multi and is_spam:
|
||||
${_("banned_on_multi")}
|
||||
 
|
||||
${sr.name}
|
||||
%elif is_spam:
|
||||
${_("banned")}
|
||||
 
|
||||
${sr.name}
|
||||
%else:
|
||||
${addremove_button(sr)}
|
||||
${plain_link(sr.name, sr.path, _class="title")}
|
||||
${permission_icons(sr)}
|
||||
%endif
|
||||
</li>
|
||||
%endfor
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user