def query(self): q = None if self.where == "overview": self.check_modified(self.vuser, "overview") q = queries.get_overview(self.vuser, self.sort, self.time) elif self.where == "comments": sup.set_sup_header(self.vuser, "commented") self.check_modified(self.vuser, "commented") q = queries.get_comments(self.vuser, self.sort, self.time) elif self.where == "submitted": sup.set_sup_header(self.vuser, "submitted") self.check_modified(self.vuser, "submitted") q = queries.get_submitted(self.vuser, self.sort, self.time) elif self.where in ("liked", "disliked"): sup.set_sup_header(self.vuser, self.where) self.check_modified(self.vuser, self.where) if self.where == "liked": q = queries.get_liked(self.vuser) else: q = queries.get_disliked(self.vuser) elif self.where == "hidden": q = queries.get_hidden(self.vuser) elif c.user_is_admin: q = admin_profile_query(self.vuser, self.where, desc("_date")) if q is None: return self.abort404() return q
def query(self): q = None if self.where == 'overview': self.check_modified(self.vuser, 'overview') q = queries.get_overview(self.vuser, self.sort, self.time) elif self.where == 'comments': sup.set_sup_header(self.vuser, 'commented') self.check_modified(self.vuser, 'commented') q = queries.get_comments(self.vuser, self.sort, self.time) elif self.where == 'submitted': sup.set_sup_header(self.vuser, 'submitted') self.check_modified(self.vuser, 'submitted') q = queries.get_submitted(self.vuser, self.sort, self.time) elif self.where in ('liked', 'disliked'): sup.set_sup_header(self.vuser, self.where) self.check_modified(self.vuser, self.where) if self.where == 'liked': q = queries.get_liked(self.vuser) else: q = queries.get_disliked(self.vuser) elif self.where == 'hidden': q = queries.get_hidden(self.vuser) elif c.user_is_admin: q = admin_profile_query(self.vuser, self.where, desc('_date')) if q is None: return self.abort404() return q
def gen_keys(): yield promoted_memo_key # just let this one do its own writing load_all_reddits() yield queries.get_all_comments().iden l_q = Link._query(Link.c._spam == (True, False), Link.c._deleted == (True, False), sort=desc('_date'), data=True, ) for link in fetch_things2(l_q, verbosity): yield comments_key(link._id) yield last_modified_key(link, 'comments') a_q = Account._query(Account.c._spam == (True, False), sort=desc('_date'), ) for account in fetch_things2(a_q, verbosity): yield messages_key(account._id) yield last_modified_key(account, 'overview') yield last_modified_key(account, 'commented') yield last_modified_key(account, 'submitted') yield last_modified_key(account, 'liked') yield last_modified_key(account, 'disliked') yield queries.get_comments(account, 'new', 'all').iden yield queries.get_submitted(account, 'new', 'all').iden yield queries.get_liked(account).iden yield queries.get_disliked(account).iden yield queries.get_hidden(account).iden yield queries.get_saved(account).iden yield queries.get_inbox_messages(account).iden yield queries.get_unread_messages(account).iden yield queries.get_inbox_comments(account).iden yield queries.get_unread_comments(account).iden yield queries.get_inbox_selfreply(account).iden yield queries.get_unread_selfreply(account).iden yield queries.get_sent(account).iden sr_q = Subreddit._query(Subreddit.c._spam == (True, False), sort=desc('_date'), ) for sr in fetch_things2(sr_q, verbosity): yield last_modified_key(sr, 'stylesheet_contents') yield queries.get_links(sr, 'hot', 'all').iden yield queries.get_links(sr, 'new', 'all').iden for sort in 'top', 'controversial': for time in 'hour', 'day', 'week', 'month', 'year', 'all': yield queries.get_links(sr, sort, time, merge_batched=False).iden yield queries.get_spam_links(sr).iden yield queries.get_spam_comments(sr).iden yield queries.get_reported_links(sr).iden yield queries.get_reported_comments(sr).iden yield queries.get_subreddit_messages(sr).iden yield queries.get_unread_subreddit_messages(sr).iden
def update_user_liked(vote): from r2.lib.db.queries import get_disliked, get_liked with CachedQueryMutator() as m: # if this is a changed vote, remove from the previous cached # query if vote.previous_vote: if vote.previous_vote.is_upvote: m.delete(get_liked(vote.user), [vote.previous_vote]) elif vote.previous_vote.is_downvote: m.delete(get_disliked(vote.user), [vote.previous_vote]) # and then add to the new cached query if vote.is_upvote: m.insert(get_liked(vote.user), [vote]) elif vote.is_downvote: m.insert(get_disliked(vote.user), [vote])
def query(self): q = None if self.where == 'overview': self.check_modified(self.vuser, 'overview') q = queries.get_overview(self.vuser, self.sort, self.time) elif self.where == 'comments': sup.set_sup_header(self.vuser, 'commented') self.check_modified(self.vuser, 'commented') q = queries.get_comments(self.vuser, self.sort, self.time) elif self.where == 'submitted': sup.set_sup_header(self.vuser, 'submitted') self.check_modified(self.vuser, 'submitted') q = queries.get_submitted(self.vuser, self.sort, self.time) elif self.where == 'gilded': sup.set_sup_header(self.vuser, 'gilded') self.check_modified(self.vuser, 'gilded') if self.show == 'given': q = queries.get_user_gildings(self.vuser) else: q = queries.get_gilded_user_comments(self.vuser) elif self.where in ('liked', 'disliked'): sup.set_sup_header(self.vuser, self.where) self.check_modified(self.vuser, self.where) if self.where == 'liked': q = queries.get_liked(self.vuser) else: q = queries.get_disliked(self.vuser) elif self.where == 'hidden': q = queries.get_hidden(self.vuser) elif self.where == 'saved': srname = request.GET.get('sr') if srname and c.user.gold: try: sr_id = Subreddit._by_name(srname)._id except NotFound: sr_id = None else: sr_id = None q = queries.get_saved(self.vuser, sr_id) elif c.user_is_sponsor and self.where == 'promoted': q = queries.get_promoted_links(self.vuser._id) if q is None: return self.abort404() return q
def query(self): q = None if self.where == "overview": self.check_modified(self.vuser, "overview") q = queries.get_overview(self.vuser, self.sort, self.time) elif self.where == "comments": sup.set_sup_header(self.vuser, "commented") self.check_modified(self.vuser, "commented") q = queries.get_comments(self.vuser, self.sort, self.time) elif self.where == "submitted": sup.set_sup_header(self.vuser, "submitted") self.check_modified(self.vuser, "submitted") q = queries.get_submitted(self.vuser, self.sort, self.time) elif self.where == "gilded": sup.set_sup_header(self.vuser, "gilded") self.check_modified(self.vuser, "gilded") if self.show == "given": q = queries.get_user_gildings(self.vuser) else: q = queries.get_gilded_user_comments(self.vuser) elif self.where in ("liked", "disliked"): sup.set_sup_header(self.vuser, self.where) self.check_modified(self.vuser, self.where) if self.where == "liked": q = queries.get_liked(self.vuser) else: q = queries.get_disliked(self.vuser) elif self.where == "hidden": q = queries.get_hidden(self.vuser) elif self.where == "saved": srname = request.GET.get("sr") if srname and c.user.gold: try: sr_id = Subreddit._by_name(srname)._id except NotFound: sr_id = None else: sr_id = None q = queries.get_saved(self.vuser, sr_id) elif c.user_is_sponsor and self.where == "promoted": q = queries.get_promoted_links(self.vuser._id) if q is None: return self.abort404() return q
def gen_keys(): yield promoted_memo_key # just let this one do its own writing load_all_reddits() yield queries.get_all_comments().iden l_q = Link._query( Link.c._spam == (True, False), Link.c._deleted == (True, False), sort=desc("_date"), data=True ) for link in fetch_things2(l_q, verbosity): yield comments_key(link._id) yield last_modified_key(link, "comments") a_q = Account._query(Account.c._spam == (True, False), sort=desc("_date")) for account in fetch_things2(a_q, verbosity): yield messages_key(account._id) yield last_modified_key(account, "overview") yield last_modified_key(account, "commented") yield last_modified_key(account, "submitted") yield last_modified_key(account, "liked") yield last_modified_key(account, "disliked") yield queries.get_comments(account, "new", "all").iden yield queries.get_submitted(account, "new", "all").iden yield queries.get_liked(account).iden yield queries.get_disliked(account).iden yield queries.get_hidden(account).iden yield queries.get_saved(account).iden yield queries.get_inbox_messages(account).iden yield queries.get_unread_messages(account).iden yield queries.get_inbox_comments(account).iden yield queries.get_unread_comments(account).iden yield queries.get_inbox_selfreply(account).iden yield queries.get_unread_selfreply(account).iden yield queries.get_sent(account).iden sr_q = Subreddit._query(Subreddit.c._spam == (True, False), sort=desc("_date")) for sr in fetch_things2(sr_q, verbosity): yield last_modified_key(sr, "stylesheet_contents") yield queries.get_links(sr, "hot", "all").iden yield queries.get_links(sr, "new", "all").iden for sort in "top", "controversial": for time in "hour", "day", "week", "month", "year", "all": yield queries.get_links(sr, sort, time, merge_batched=False).iden yield queries.get_spam_links(sr).iden yield queries.get_spam_comments(sr).iden yield queries.get_reported_links(sr).iden yield queries.get_reported_comments(sr).iden yield queries.get_subreddit_messages(sr).iden yield queries.get_unread_subreddit_messages(sr).iden
def query(self): q = None if self.where == 'overview': self.check_modified(self.vuser, 'overview') q = queries.get_overview(self.vuser, self.sort, self.time) elif self.where == 'comments': sup.set_sup_header(self.vuser, 'commented') self.check_modified(self.vuser, 'commented') q = queries.get_comments(self.vuser, self.sort, self.time) elif self.where == 'submitted': sup.set_sup_header(self.vuser, 'submitted') self.check_modified(self.vuser, 'submitted') q = queries.get_submitted(self.vuser, self.sort, self.time) elif self.where == 'gilded': sup.set_sup_header(self.vuser, 'gilded') self.check_modified(self.vuser, 'gilded') if self.show == 'given': q = queries.get_user_gildings(self.vuser) else: q = queries.get_gilded_user(self.vuser) elif self.where in ('liked', 'disliked'): sup.set_sup_header(self.vuser, self.where) self.check_modified(self.vuser, self.where) if self.where == 'liked': q = queries.get_liked(self.vuser) else: q = queries.get_disliked(self.vuser) elif self.where == 'hidden': q = queries.get_hidden(self.vuser) elif self.where == 'saved': if not self.savedcategory and c.user.gold: self.builder_cls = SavedBuilder sr_id = self.savedsr._id if self.savedsr else None q = queries.get_saved(self.vuser, sr_id, category=self.savedcategory) elif c.user_is_sponsor and self.where == 'promoted': q = queries.get_promoted_links(self.vuser._id) if q is None: return self.abort404() return q
def query(self): q = None if self.where == "overview": self.check_modified(self.vuser, "overview") q = queries.get_overview(self.vuser, self.sort, self.time) elif self.where == "comments": sup.set_sup_header(self.vuser, "commented") self.check_modified(self.vuser, "commented") q = queries.get_comments(self.vuser, self.sort, self.time) elif self.where == "submitted": sup.set_sup_header(self.vuser, "submitted") self.check_modified(self.vuser, "submitted") q = queries.get_submitted(self.vuser, self.sort, self.time) elif self.where == "gilded": sup.set_sup_header(self.vuser, "gilded") self.check_modified(self.vuser, "gilded") if self.show == "given": q = queries.get_user_gildings(self.vuser) else: q = queries.get_gilded_user(self.vuser) elif self.where in ("liked", "disliked"): sup.set_sup_header(self.vuser, self.where) self.check_modified(self.vuser, self.where) if self.where == "liked": q = queries.get_liked(self.vuser) else: q = queries.get_disliked(self.vuser) elif self.where == "hidden": q = queries.get_hidden(self.vuser) elif self.where == "saved": if not self.savedcategory and c.user.gold: self.builder_cls = SavedBuilder sr_id = self.savedsr._id if self.savedsr else None q = queries.get_saved(self.vuser, sr_id, category=self.savedcategory) elif c.user_is_sponsor and self.where == "promoted": q = queries.get_promoted_links(self.vuser._id) if q is None: return self.abort404() return q
def query(self): q = None if self.where == 'profile': q = object # dummy value if self.where == 'overview': self.skip = True self.check_modified(self.vuser, 'overview') q = queries.get_overview(self.vuser, 'new', 'all') elif self.where == 'overviewrss': self.check_modified(self.vuser, 'overviewrss') q = queries.get_overview(self.vuser, 'new', 'all') elif self.where == 'comments': self.check_modified(self.vuser, 'commented') q = queries.get_comments(self.vuser, 'new', 'all') elif self.where == 'commentsrss': self.check_modified(self.vuser, 'commented') q = queries.get_comments(self.vuser, 'new', 'all') elif self.where == 'submitted': self.skip = True self.check_modified(self.vuser, 'submitted') q = queries.get_submitted(self.vuser, 'new', 'all') elif self.where in ('liked', 'disliked'): self.check_modified(self.vuser, self.where) if self.where == 'liked': q = queries.get_liked(self.vuser, not c.user_is_admin) else: q = queries.get_disliked(self.vuser, not c.user_is_admin) elif self.where == 'hidden': q = queries.get_hidden(self.vuser, not c.user_is_admin) elif self.where == 'drafts': q = queries.get_drafts(self.vuser) if q is None: return self.abort404() return q
def query(self): q = None if self.where == 'overview': self.check_modified(self.vuser, 'overview') q = queries.get_overview(self.vuser, self.sort, self.time) elif self.where == 'comments': sup.set_sup_header(self.vuser, 'commented') self.check_modified(self.vuser, 'commented') q = queries.get_comments(self.vuser, self.sort, self.time) elif self.where == 'submitted': sup.set_sup_header(self.vuser, 'submitted') self.check_modified(self.vuser, 'submitted') q = queries.get_submitted(self.vuser, self.sort, self.time) elif self.where in ('liked', 'disliked'): sup.set_sup_header(self.vuser, self.where) self.check_modified(self.vuser, self.where) if self.where == 'liked': q = queries.get_liked(self.vuser) else: q = queries.get_disliked(self.vuser) elif self.where == 'hidden': q = queries.get_hidden(self.vuser) elif self.where == 'saved': q = queries.get_saved(self.vuser) elif c.user_is_sponsor and self.where == 'promoted': q = queries.get_promoted_links(self.vuser._id) if q is None: return self.abort404() return q
def query(self): q = None if self.where == 'overview': self.check_modified(self.vuser, 'overview') q = queries.get_overview(self.vuser, self.sort, self.time) elif self.where == 'comments': sup.set_sup_header(self.vuser, 'commented') self.check_modified(self.vuser, 'commented') q = queries.get_comments(self.vuser, self.sort, self.time) elif self.where == 'submitted': sup.set_sup_header(self.vuser, 'submitted') self.check_modified(self.vuser, 'submitted') q = queries.get_submitted(self.vuser, self.sort, self.time) elif self.where in ('liked', 'disliked'): sup.set_sup_header(self.vuser, self.where) self.check_modified(self.vuser, self.where) if self.where == 'liked': q = queries.get_liked(self.vuser) else: q = queries.get_disliked(self.vuser) elif self.where == 'hidden': q = queries.get_hidden(self.vuser) elif self.where == 'saved': q = queries.get_saved(self.vuser) elif c.user_is_sponsor and self.where == 'promoted': q = promote.get_all_links(self.vuser._id) if q is None: return self.abort404() return q