本文整理汇总了Python中r2.models.CommentSortsCache类的典型用法代码示例。如果您正苦于以下问题:Python CommentSortsCache类的具体用法?Python CommentSortsCache怎么用?Python CommentSortsCache使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CommentSortsCache类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update_comment_votes
def update_comment_votes(comments, write_consistency_level = None):
from r2.models import CommentSortsCache
comments = tup(comments)
link_map = {}
for com in comments:
link_map.setdefault(com.link_id, []).append(com)
all_links = Link._byID(link_map.keys(), data=True)
comment_trees = {}
for link in all_links.values():
comment_trees[link._id] = get_comment_tree(link)
for link_id, coms in link_map.iteritems():
link = all_links[link_id]
for sort in ("_controversy", "_hot", "_confidence", "_score", "_date",
"_qa"):
cid_tree = comment_trees[link_id].tree
sorter = _comment_sorter_from_cids(coms, sort, link, cid_tree,
by_36=True)
# Cassandra always uses the id36 instead of the integer
# ID, so we'll map that first before sending it
c_key = sort_comments_key(link_id, sort)
CommentSortsCache._set_values(c_key, sorter,
write_consistency_level = write_consistency_level)
示例2: update_comment_votes
def update_comment_votes(comments, write_consistency_level=None):
from r2.models import CommentSortsCache
comments = tup(comments)
link_map = {}
for com in comments:
link_map.setdefault(com.link_id, []).append(com)
for link_id, coms in link_map.iteritems():
for sort in ("_controversy", "_hot", "_confidence", "_score", "_date"):
# Cassandra always uses the id36 instead of the integer
# ID, so we'll map that first before sending it
c_key = sort_comments_key(link_id, sort)
c_r = dict((cm._id36, _get_sort_value(cm, sort)) for cm in coms)
CommentSortsCache._set_values(c_key, c_r, write_consistency_level=write_consistency_level)
示例3: _get_comment_sorter
def _get_comment_sorter(link_id, sort):
"""Retrieve cached sort values for all comments on a post.
Arguments:
* link_id -- id of the Link containing the comments.
* sort -- a string indicating the attribute on the comments to use for
generating sort values.
Returns a dictionary from cid to a numeric sort value.
"""
from r2.models import CommentSortsCache
from r2.lib.db.tdb_cassandra import NotFound
key = sort_comments_key(link_id, sort)
try:
sorter = CommentSortsCache._byID(key)._values()
except NotFound:
return {}
# we store these id36ed, but there are still bits of the code that
# want to deal in integer IDs
sorter = dict((int(c_id, 36), val)
for (c_id, val) in sorter.iteritems())
return sorter
示例4: _get_comment_sorter
def _get_comment_sorter(link_id, sort):
from r2.models import CommentSortsCache
from r2.lib.db.tdb_cassandra import NotFound
key = sort_comments_key(link_id, sort)
try:
sorter = CommentSortsCache._byID(key)._values()
except NotFound:
return {}
# we store these id36ed, but there are still bits of the code that
# want to deal in integer IDs
sorter = dict((int(c_id, 36), val) for (c_id, val) in sorter.iteritems())
return sorter