本文整理汇总了Python中r2.lib.db.queries.merge_results函数的典型用法代码示例。如果您正苦于以下问题:Python merge_results函数的具体用法?Python merge_results怎么用?Python merge_results使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了merge_results函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: get_accepted_links
def get_accepted_links(author_id = None):
return merge_results(_sponsored_link_query(STATUS.accepted,
author_id = author_id),
_sponsored_link_query(STATUS.pending,
author_id = author_id),
_sponsored_link_query(STATUS.finished,
author_id = author_id))
开发者ID:JediWatchman,项目名称:reddit,代码行数:7,代码来源:promote.py
示例2: query
def query(self):
if self.where == "messages":
q = queries.get_inbox_messages(c.user)
elif self.where == "comments":
q = queries.get_inbox_comments(c.user)
elif self.where == "selfreply":
q = queries.get_inbox_selfreply(c.user)
elif self.where == "inbox":
q = queries.get_inbox(c.user)
elif self.where == "unread":
q = queries.get_unread_inbox(c.user)
elif self.where == "sent":
q = queries.get_sent(c.user)
elif self.where == "moderator" and self.subwhere == "unread":
if c.default_sr:
srids = Subreddit.reverse_moderator_ids(c.user)
srs = Subreddit._byID(srids, data=False, return_dict=False)
q = queries.merge_results(*[queries.get_unread_subreddit_messages(s) for s in srs])
else:
q = queries.get_unread_subreddit_messages(c.site)
elif self.where == "moderator":
if c.have_mod_messages and self.mark != "false":
c.user.modmsgtime = False
c.user._commit()
# the query is handled by the builder on the moderator page
return
else:
return self.abort404()
if self.where != "sent":
# reset the inbox
if c.have_messages and self.mark != "false":
c.user.msgtime = False
c.user._commit()
return q
开发者ID:Roj,项目名称:reddit,代码行数:35,代码来源:listingcontroller.py
示例3: get_links_sr_ids
def get_links_sr_ids(self, sr_ids, sort, time):
from r2.lib.db import queries
if not sr_ids:
return []
else:
srs = Subreddit._byID(sr_ids, data=True, return_dict=False)
results = [queries.get_links(sr, sort, time) for sr in srs]
return queries.merge_results(*results)
开发者ID:kurikintoki,项目名称:reddit,代码行数:10,代码来源:subreddit.py
示例4: query
def query(self):
if self.where == 'messages':
q = queries.get_inbox_messages(c.user)
elif self.where == 'comments':
q = queries.get_inbox_comments(c.user)
elif self.where == 'selfreply':
q = queries.get_inbox_selfreply(c.user)
elif self.where == 'inbox':
q = queries.get_inbox(c.user)
elif self.where == 'unread':
q = queries.get_unread_inbox(c.user)
elif self.where == 'sent':
q = queries.get_sent(c.user)
elif self.where == 'multi' and self.subwhere == 'unread':
q = queries.merge_results(*[queries.get_unread_subreddit_messages(s) for s in c.site.kept_srs])
elif self.where == 'moderator' and self.subwhere == 'unread':
if c.default_sr:
srids = Subreddit.reverse_moderator_ids(c.user)
srs = Subreddit._byID(srids, data = False, return_dict = False)
q = queries.merge_results(
*[queries.get_unread_subreddit_messages(s) for s in srs])
else:
q = queries.get_unread_subreddit_messages(c.site)
elif self.where in ('moderator', 'multi'):
if c.have_mod_messages and self.mark != 'false':
c.user.modmsgtime = False
c.user._commit()
# the query is handled by the builder on the moderator page
return
else:
return self.abort404()
if self.where != 'sent':
#reset the inbox
if c.have_messages and self.mark != 'false':
c.user.msgtime = False
c.user._commit()
return q
开发者ID:A5,项目名称:reddit,代码行数:38,代码来源:listingcontroller.py
示例5: get_links_sr_ids
def get_links_sr_ids(self, sr_ids, sort, time):
from r2.lib.db import queries
from r2.models import Link
if not sr_ids:
return []
else:
srs = Subreddit._byID(sr_ids, data=True, return_dict=False)
if g.use_query_cache:
results = [queries.get_links(sr, sort, time) for sr in srs]
return queries.merge_results(*results)
else:
q = Link._query(Link.c.sr_id == sr_ids, sort=queries.db_sort(sort), data=True)
if time != "all":
q._filter(queries.db_times[time])
return q
开发者ID:nborwankar,项目名称:reddit,代码行数:17,代码来源:subreddit.py
示例6: get_links_sr_ids
def get_links_sr_ids(self, sr_ids, sort, time):
from r2.lib.db import queries
from r2.models import Link
from r2.lib.normalized_hot import expand_children
if not sr_ids:
return []
else:
srs = Subsciteit._byID(sr_ids, data=True, return_dict = False)
if g.use_query_cache:
srs = expand_children(srs)
results = [queries.get_links(sr, sort, time,no_children=True)
for sr in srs]
return queries.merge_results(*results)
else:
sr_ids = expand_children(sr_ids,byID=True)
q = Link._query(Link.c.sr_id == sr_ids,
sort = queries.db_sort(sort), data=True)
if time != 'all':
q._filter(queries.db_times[time])
return q
开发者ID:constantAmateur,项目名称:sciteit,代码行数:22,代码来源:subsciteit.py
示例7: get_all_comments
def get_all_comments(self):
from r2.lib.db.queries import get_sr_comments, merge_results
srs = Subreddit._byID(self.kept_sr_ids, return_dict=False)
results = [get_sr_comments(sr) for sr in srs]
return merge_results(*results)
开发者ID:nborwankar,项目名称:reddit,代码行数:6,代码来源:subreddit.py
示例8: add_props
def add_props(cls, user, wrapped):
from r2.lib.db import queries
#TODO global-ish functions that shouldn't be here?
#reset msgtime after this request
msgtime = c.have_messages
# make sure there is a sr_id set:
for w in wrapped:
if not hasattr(w, "sr_id"):
w.sr_id = None
# load the to fields if one exists
to_ids = set(w.to_id for w in wrapped if w.to_id is not None)
tos = Account._byID(to_ids, True) if to_ids else {}
# load the subreddit field if one exists:
sr_ids = set(w.sr_id for w in wrapped if w.sr_id is not None)
m_subreddits = Subreddit._byID(sr_ids, data=True, return_dict=True)
# load the links and their subreddits (if comment-as-message)
links = Link._byID(
set(l.link_id for l in wrapped if l.was_comment),
data=True,
return_dict=True)
# subreddits of the links (for comment-as-message)
l_subreddits = Subreddit._byID(
set(l.sr_id for l in links.values()), data=True, return_dict=True)
parents = Comment._byID(
set(l.parent_id for l in wrapped if l.parent_id and l.was_comment),
data=True,
return_dict=True)
# load the unread list to determine message newness
unread = set(queries.get_unread_inbox(user))
msg_srs = set(
m_subreddits[x.sr_id] for x in wrapped
if x.sr_id is not None and isinstance(x.lookups[0], Message))
# load the unread mod list for the same reason
mod_unread = set(
queries.merge_results(
*[queries.get_unread_subreddit_messages(sr)
for sr in msg_srs]))
for item in wrapped:
item.to = tos.get(item.to_id)
if item.sr_id:
item.recipient = (item.author_id != c.user._id)
else:
item.recipient = (item.to_id == c.user._id)
# new-ness is stored on the relation
if item.author_id == c.user._id:
item.new = False
elif item._fullname in unread:
item.new = True
# wipe new messages if preferences say so, and this isn't a feed
# and it is in the user's personal inbox
if (item.new and c.user.pref_mark_messages_read
and c.extension not in ("rss", "xml", "api", "json")):
queries.set_unread(item.lookups[0], c.user, False)
else:
item.new = (item._fullname in mod_unread)
item.score_fmt = Score.none
item.message_style = ""
# comment as message:
if item.was_comment:
link = links[item.link_id]
sr = l_subreddits[link.sr_id]
item.to_collapse = False
item.author_collapse = False
item.link_title = link.title
item.permalink = item.lookups[0].make_permalink(link, sr=sr)
item.link_permalink = link.make_permalink(sr)
if item.parent_id:
item.subject = _('comment reply')
item.message_style = "comment-reply"
parent = parents[item.parent_id]
item.parent = parent._fullname
item.parent_permalink = parent.make_permalink(link, sr)
else:
item.subject = _('post reply')
item.message_style = "post-reply"
elif item.sr_id is not None:
item.subreddit = m_subreddits[item.sr_id]
if c.user.pref_no_profanity:
item.subject = profanity_filter(item.subject)
item.is_collapsed = None
if not item.new:
if item.recipient:
item.is_collapsed = item.to_collapse
if item.author_id == c.user._id:
item.is_collapsed = item.author_collapse
if c.user.pref_collapse_read_messages:
item.is_collapsed = (item.is_collapsed is not False)
#.........这里部分代码省略.........
开发者ID:ketralnis,项目名称:reddit,代码行数:101,代码来源:link.py
示例9: query
def query(reddits):
sr_ids = Subreddit.user_subreddits(c.user)
res = queries._get_sr_comments(sr_ids)
res1 = c.site.get_links('new', 'all')
res1 = queries.make_results(res1)
return queries.merge_results(res1,res)
开发者ID:szimpatikus,项目名称:szimpatikus.hu,代码行数:6,代码来源:listingcontroller.py
注:本文中的r2.lib.db.queries.merge_results函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论