def add_props(cls, user, wrapped): names = ('subscriber', 'moderator', 'contributor') rels = (SRMember._fast_query(wrapped, [user], names) if c.user_is_loggedin else {}) defaults = Subreddit.default_subreddits() target = "_top" if c.cname else None for item in wrapped: if not user or not user.has_subscribed: item.subscriber = item._id in defaults else: item.subscriber = bool(rels.get((item, user, 'subscriber'))) item.moderator = bool(rels.get((item, user, 'moderator'))) item.contributor = bool(item.type != 'public' and (item.moderator or rels.get( (item, user, 'contributor')))) # Don't reveal revenue information via /r/lounge's subscribers if (g.lounge_reddit and item.name == g.lounge_reddit and not c.user_is_admin): item._ups = 0 item.score = item._ups # override "voting" score behavior (it will override the use of # item.score in builder.py to be ups-downs) item.likes = item.subscriber or None base_score = item.score - (1 if item.likes else 0) item.voting_score = [(base_score + x - 1) for x in range(3)] item.score_fmt = Score.subscribers #will seem less horrible when add_props is in pages.py from r2.lib.pages import UserText item.description_usertext = UserText(item, item.description, target=target) if item.public_description or item.description: text = (item.public_description or summarize_markdown(item.description)) item.public_description_usertext = UserText(item, text, target=target) else: item.public_description_usertext = None Printable.add_props(user, wrapped)
def add_props(cls, user, wrapped): names = ('subscriber', 'moderator', 'contributor') rels = (SRMember._fast_query(wrapped, [user], names) if c.user_is_loggedin else {}) defaults = Subreddit.default_subreddits() target = "_top" if c.cname else None for item in wrapped: if not user or not user.has_subscribed: item.subscriber = item._id in defaults else: item.subscriber = bool(rels.get((item, user, 'subscriber'))) item.moderator = bool(rels.get((item, user, 'moderator'))) item.contributor = bool(item.type != 'public' and (item.moderator or rels.get((item, user, 'contributor')))) # Don't reveal revenue information via /r/lounge's subscribers if (g.lounge_reddit and item.name == g.lounge_reddit and not c.user_is_admin): item._ups = 0 item.score = item._ups # override "voting" score behavior (it will override the use of # item.score in builder.py to be ups-downs) item.likes = item.subscriber or None base_score = item.score - (1 if item.likes else 0) item.voting_score = [(base_score + x - 1) for x in range(3)] item.score_fmt = Score.subscribers #will seem less horrible when add_props is in pages.py from r2.lib.pages import UserText item.description_usertext = UserText(item, item.description, target=target) if item.public_description or item.description: text = (item.public_description or summarize_markdown(item.description)) item.public_description_usertext = UserText(item, text, target=target) else: item.public_description_usertext = None Printable.add_props(user, wrapped)
def add_props(cls, user, wrapped): names = ('subscriber', 'moderator', 'contributor') rels = (SRMember._fast_query(wrapped, [user], names) if c.user_is_loggedin else {}) defaults = Subreddit.default_subreddits() target = "_top" if c.cname else None for item in wrapped: if not user or not user.has_subscribed: item.subscriber = item._id in defaults else: item.subscriber = bool(rels.get((item, user, 'subscriber'))) item.moderator = bool(rels.get((item, user, 'moderator'))) item.contributor = bool(item.type != 'public' and (item.moderator or rels.get((item, user, 'contributor')))) # Don't reveal revenue information via /space/lounge's subscribers if (g.lounge_reddit and item.name == g.lounge_reddit and not c.user_is_admin): item._ups = 0 item.score = item._ups # override "voting" score behavior (it will override the use of # item.score in builder.py to be ups-downs) item.likes = item.subscriber or None base_score = item.score - (1 if item.likes else 0) item.voting_score = [(base_score + x - 1) for x in range(3)] item.score_fmt = Score.subscribers #will seem less horrible when add_props is in pages.py from r2.lib.pages import UserText item.description_usertext = UserText(item, item.description, have_form=False, target=target, extra_css = 'sidebar_description') if item.public_description or item.description: text = (item.public_description or summarize_markdown(item.description)) item.public_description_usertext = UserText(item, text, have_form=False, target=target) else: item.public_description_usertext = None house_rules = '#### [](#h4-green)\n> ## [House Rules](#icon-information)\n' if not item.space_is_house: house_rules += '> (using house rules from **' house_rules += item.use_rules_from_space if item.use_rules_from_space else "" house_rules += '**)\n\n> \n\n>' house_rules += item.get_house_rules().replace('\n','\n\n>') item.house_rules_usertext = UserText( item, house_rules, have_form=False, target=target, extra_css = 'sidebar_description') Printable.add_props(user, wrapped)