mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-01-26 15:28:37 -05:00
Unify ModContribSR and MultiReddit interfaces and simplify downstream.
This commit is contained in:
@@ -398,11 +398,8 @@ class FrontController(RedditController):
|
||||
if not c.user_is_loggedin:
|
||||
return self.abort404()
|
||||
|
||||
if isinstance(c.site, ModSR) or isinstance(c.site, MultiReddit):
|
||||
if isinstance(c.site, ModSR):
|
||||
srs = Subreddit._byID(c.site.sr_ids(), return_dict=False)
|
||||
else:
|
||||
srs = Subreddit._byID(c.site.sr_ids, return_dict=False)
|
||||
if isinstance(c.site, (MultiReddit, ModSR)):
|
||||
srs = Subreddit._byID(c.site.sr_ids, return_dict=False)
|
||||
|
||||
# check that user is mod on all requested srs
|
||||
if not Subreddit.user_mods_all(c.user, srs) and not c.user_is_admin:
|
||||
|
||||
@@ -314,7 +314,7 @@ def get_spam_comments(sr):
|
||||
|
||||
def get_spam(sr):
|
||||
if isinstance(sr, ModContribSR):
|
||||
srs = Subreddit._byID(sr.sr_ids(), return_dict=False)
|
||||
srs = Subreddit._byID(sr.sr_ids, return_dict=False)
|
||||
results = [ get_spam_links(sr) for sr in srs ]
|
||||
return merge_results(*results)
|
||||
else:
|
||||
@@ -337,7 +337,7 @@ def get_reported_comments(sr):
|
||||
|
||||
def get_reported(sr):
|
||||
if isinstance(sr, ModContribSR):
|
||||
srs = Subreddit._byID(sr.sr_ids(), return_dict=False)
|
||||
srs = Subreddit._byID(sr.sr_ids, return_dict=False)
|
||||
results = []
|
||||
results.extend(get_reported_links(sr) for sr in srs)
|
||||
results.extend(get_reported_comments(sr) for sr in srs)
|
||||
@@ -389,7 +389,7 @@ def get_trials_links(sr):
|
||||
|
||||
def get_trials(sr):
|
||||
if isinstance(sr, ModContribSR):
|
||||
srs = Subreddit._byID(sr.sr_ids(), return_dict=False)
|
||||
srs = Subreddit._byID(sr.sr_ids, return_dict=False)
|
||||
return get_trials_links(srs)
|
||||
else:
|
||||
return get_trials_links(sr)
|
||||
@@ -397,7 +397,7 @@ def get_trials(sr):
|
||||
def get_modqueue(sr):
|
||||
results = []
|
||||
if isinstance(sr, ModContribSR):
|
||||
srs = Subreddit._byID(sr.sr_ids(), return_dict=False)
|
||||
srs = Subreddit._byID(sr.sr_ids, return_dict=False)
|
||||
results.append(get_trials_links(srs))
|
||||
|
||||
for sr in srs:
|
||||
|
||||
@@ -95,9 +95,8 @@ class IndextankQuery(object):
|
||||
# q.append(self._req_fs(
|
||||
# Subreddit.user_subreddits(c.user,over18=c.over18,
|
||||
# ids=True, limit=None)))
|
||||
elif isinstance(self.sr, MultiReddit):
|
||||
q.append(self._req_fs(
|
||||
self.sr.sr_ids))
|
||||
elif isinstance(self.sr, (MultiReddit, ModContribSR)):
|
||||
q.append(self._req_fs(self.sr.sr_ids))
|
||||
elif isinstance(self.sr, DomainSR):
|
||||
q.append('+site:%s' % (self.sr.domain))
|
||||
elif self.sr == Friends and c.user_is_loggedin and c.user.friends:
|
||||
@@ -110,9 +109,6 @@ class IndextankQuery(object):
|
||||
|
||||
q.append(self._req_fs(
|
||||
friend_names, field='author'))
|
||||
elif isinstance(self.sr, ModContribSR):
|
||||
q.append(self._req_fs(
|
||||
self.sr.sr_ids()))
|
||||
elif not isinstance(self.sr, FakeSubreddit):
|
||||
q.append(self._req_fs([self.sr._id]))
|
||||
|
||||
|
||||
@@ -926,6 +926,7 @@ class ModContribSR(_DefaultSR):
|
||||
def path(self):
|
||||
return '/r/' + self.real_path
|
||||
|
||||
@property
|
||||
def sr_ids(self):
|
||||
if c.user_is_loggedin:
|
||||
return Subreddit.special_reddits(c.user, self.query_param)
|
||||
@@ -933,7 +934,7 @@ class ModContribSR(_DefaultSR):
|
||||
return []
|
||||
|
||||
def get_links(self, sort, time):
|
||||
return self.get_links_sr_ids(self.sr_ids(), sort, time)
|
||||
return self.get_links_sr_ids(self.sr_ids, sort, time)
|
||||
|
||||
class ModSR(ModContribSR):
|
||||
name = "communities you moderate"
|
||||
|
||||
Reference in New Issue
Block a user