本文整理汇总了Python中r2.lib.db.queries.get_submitted函数的典型用法代码示例。如果您正苦于以下问题:Python get_submitted函数的具体用法?Python get_submitted怎么用?Python get_submitted使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_submitted函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_links
def get_links(self, sort, time):
from r2.lib.db import queries
from r2.models import Link
from r2.controllers.errors import UserRequiredException
if not c.user_is_loggedin:
raise UserRequiredException
friends = self.get_important_friends(c.user._id)
if not friends:
return []
if g.use_query_cache:
# with the precomputer enabled, this Subreddit only supports
# being sorted by 'new'. it would be nice to have a
# cleaner UI than just blatantly ignoring their sort,
# though
sort = "new"
time = "all"
friends = Account._byID(friends, return_dict=False)
crs = [queries.get_submitted(friend, sort, time) for friend in friends]
return queries.MergedCachedResults(crs)
else:
q = Link._query(Link.c.author_id == friends, sort=queries.db_sort(sort), data=True)
if time != "all":
q._filter(queries.db_times[time])
return q
示例2: query
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
示例3: process_message
def process_message(msgs, chan):
"""Update get_submitted(), the Links by author precomputed query.
get_submitted() is a CachedResult which is stored in permacache. To
update these objects we need to do a read-modify-write which requires
obtaining a lock. Sharding these updates by author allows us to run
multiple consumers (but ideally just one per shard) to avoid lock
contention.
"""
from r2.lib.db.queries import add_queries, get_submitted
link_names = {msg.body for msg in msgs}
links = Link._by_fullname(link_names, return_dict=False)
print 'Processing %r' % (links,)
links_by_author_id = defaultdict(list)
for link in links:
links_by_author_id[link.author_id].append(link)
authors_by_id = Account._byID(links_by_author_id.keys())
for author_id, links in links_by_author_id.iteritems():
with g.stats.get_timer("link_vote_processor.author_queries"):
author = authors_by_id[author_id]
add_queries(
queries=[
get_submitted(author, sort, 'all') for sort in SORTS],
insert_items=links,
)
示例4: gen_keys
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
示例5: query
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
示例6: gen_keys
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
示例7: query
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
示例8: query
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
示例9: query
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
示例10: get_links
def get_links(self, sort, time):
from r2.lib.db import queries
if not c.user_is_loggedin:
raise UserRequiredException
friends = self.get_important_friends(c.user._id)
if not friends:
return []
# with the precomputer enabled, this Subreddit only supports
# being sorted by 'new'. it would be nice to have a
# cleaner UI than just blatantly ignoring their sort,
# though
sort = "new"
time = "all"
friends = Account._byID(friends, return_dict=False)
crs = [queries.get_submitted(friend, sort, time) for friend in friends]
return queries.MergedCachedResults(crs)
示例11: query
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