当前位置: 首页>>代码示例>>Python>>正文


Python models.CommentSortsCache类代码示例

本文整理汇总了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)
开发者ID:Sinacosa,项目名称:reddit,代码行数:27,代码来源:comment_tree.py

示例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)
开发者ID:rasher,项目名称:reddit,代码行数:16,代码来源:comment_tree.py

示例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
开发者ID:Sinacosa,项目名称:reddit,代码行数:25,代码来源:comment_tree.py

示例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
开发者ID:rasher,项目名称:reddit,代码行数:14,代码来源:comment_tree.py


注:本文中的r2.models.CommentSortsCache类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。