Clean up MultiReddit.

This commit is contained in:
bsimpson63
2012-10-16 11:53:02 -04:00
parent 5ee83b1636
commit f29d0ec565
2 changed files with 20 additions and 18 deletions

View File

@@ -325,20 +325,19 @@ def set_subreddit():
c.site = Sub
elif '+' in sr_name:
sr_names = sr_name.split('+')
srs = set(Subreddit._by_name(sr_names, stale=can_stale).values())
srs = Subreddit._by_name(sr_names, stale=can_stale).values()
if All in srs:
c.site = All
elif Friends in srs:
c.site = Friends
else:
srs = [sr for sr in srs if not isinstance(sr, FakeSubreddit)]
if len(srs) == 0:
if not srs:
c.site = MultiReddit([], sr_name)
elif len(srs) == 1:
c.site = srs.pop()
c.site = srs[0]
else:
sr_ids = [sr._id for sr in srs]
c.site = MultiReddit(sr_ids, sr_name)
c.site = MultiReddit(srs, sr_name)
elif '-' in sr_name:
sr_names = sr_name.split('-')
if not sr_names[0].lower() == All.name.lower():

View File

@@ -1105,19 +1105,13 @@ class MultiReddit(_DefaultSR):
name = 'multi'
header = ""
def __init__(self, sr_ids, path):
def __init__(self, srs, path):
_DefaultSR.__init__(self)
self.real_path = path
self.sr_ids = sr_ids
self.srs = Subreddit._byID(self.sr_ids, return_dict=False)
self.banned_sr_ids = []
self.kept_sr_ids = []
for sr in self.srs:
if sr._spam:
self.banned_sr_ids.append(sr._id)
else:
self.kept_sr_ids.append(sr._id)
self.srs = srs
self.sr_ids = [sr._id for sr in srs]
self.banned_sr_ids = [sr._id for sr in srs if sr._spam]
self.kept_sr_ids = [sr._id for sr in srs if not sr._spam]
def is_moderator(self, user):
if not user:
@@ -1164,7 +1158,8 @@ class ModContribSR(MultiReddit):
real_path = None
def __init__(self):
MultiReddit.__init__(self, self.sr_ids, self.real_path)
# Can't lookup srs right now, c.user not set
MultiReddit.__init__(self, [], self.real_path)
@property
def sr_ids(self):
@@ -1173,9 +1168,17 @@ class ModContribSR(MultiReddit):
else:
return []
@property
def srs(self):
return Subreddit._byID(self.sr_ids, data=True, return_dict=False)
@property
def kept_sr_ids(self):
return self.sr_ids
return [sr._id for sr in self.srs if not sr._spam]
@property
def banned_sr_ids(self):
return [sr._id for sr in self.srs if sr._spam]
class ModSR(ModContribSR):
name = "subreddits you moderate"