Skip to content

Commit

Permalink
Unify ModContribSR and MultiReddit interfaces and simplify downstream.
Browse files Browse the repository at this point in the history
  • Loading branch information
spladug committed Mar 27, 2012
1 parent 3e40a58 commit e6b8880
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 16 deletions.
7 changes: 2 additions & 5 deletions r2/r2/controllers/front.py
Expand Up @@ -398,11 +398,8 @@ def GET_moderationlog(self, num, after, reverse, count, mod, action):
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:
Expand Down
8 changes: 4 additions & 4 deletions r2/r2/lib/db/queries.py
Expand Up @@ -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:
Expand All @@ -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)
Expand Down Expand Up @@ -389,15 +389,15 @@ 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)

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:
Expand Down
8 changes: 2 additions & 6 deletions r2/r2/lib/indextank.py
Expand Up @@ -95,9 +95,8 @@ def _run(self, start=0, num=1000, _update=False):
# 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:
Expand All @@ -110,9 +109,6 @@ def _run(self, start=0, num=1000, _update=False):

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]))

Expand Down
3 changes: 2 additions & 1 deletion r2/r2/models/subreddit.py
Expand Up @@ -926,14 +926,15 @@ 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)
else:
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"
Expand Down

0 comments on commit e6b8880

Please sign in to comment.