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


Python Account._fullname_from_id36方法代码示例

本文整理汇总了Python中r2.models.Account._fullname_from_id36方法的典型用法代码示例。如果您正苦于以下问题:Python Account._fullname_from_id36方法的具体用法?Python Account._fullname_from_id36怎么用?Python Account._fullname_from_id36使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在r2.models.Account的用法示例。


在下文中一共展示了Account._fullname_from_id36方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _restrict_sr

# 需要导入模块: from r2.models import Account [as 别名]
# 或者: from r2.models.Account import _fullname_from_id36 [as 别名]
    def _restrict_sr(sr):
        '''Return a cloudsearch appropriate query string that restricts
        results to only contain results from self.sr
        
        '''
        if isinstance(sr, MultiReddit):
            if not sr.sr_ids:
                raise InvalidQuery
            srs = ["sr_id:%s" % sr_id for sr_id in sr.sr_ids]
            return "(or %s)" % ' '.join(srs)
        elif isinstance(sr, DomainSR):
            return "site:'%s'" % sr.domain
        elif isinstance(sr, FriendsSR):
            if not c.user_is_loggedin or not c.user.friends:
                raise InvalidQuery
            # The query limit is roughly 8k bytes. Limit to 200 friends to
            # avoid getting too close to that limit
            friend_ids = c.user.friends[:200]
            friends = ["author_fullname:'%s'" %
                       Account._fullname_from_id36(r2utils.to36(id_))
                       for id_ in friend_ids]
            return "(or %s)" % ' '.join(friends)
        elif not isinstance(sr, FakeSubreddit):
            return "sr_id:%s" % sr._id

        return None
开发者ID:judys-io,项目名称:reddit,代码行数:28,代码来源:cloudsearch.py

示例2: _get_sr_restriction

# 需要导入模块: from r2.models import Account [as 别名]
# 或者: from r2.models.Account import _fullname_from_id36 [as 别名]
 def _get_sr_restriction(sr):
     '''Return a solr-appropriate query string that restricts
     results to only contain results from self.sr
     
     '''
     bq = []
     if (not sr) or sr == All or isinstance(sr, DefaultSR):
         return None
     elif isinstance(sr, MultiReddit):
         for sr_id in sr.sr_ids:
             bq.append("sr_id:%s" % sr_id)
     elif isinstance(sr, DomainSR):
         bq = ["site:'%s'" % sr.domain]
     elif sr == Friends:
         if not c.user_is_loggedin or not c.user.friends:
             return None
         friend_ids = c.user.friends
         friends = ["author_fullname:'%s'" %
                    Account._fullname_from_id36(r2utils.to36(id_))
                    for id_ in friend_ids]
         bq.extend(friends)
     elif isinstance(sr, ModContribSR):
         for sr_id in sr.sr_ids:
             bq.append("sr_id:%s" % sr_id)
     elif not isinstance(sr, FakeSubreddit):
         bq = ["sr_id:%s" % sr._id]
     return ' OR '.join(bq)
开发者ID:AjaxGb,项目名称:reddit,代码行数:29,代码来源:solr.py

示例3: _get_sr_restriction

# 需要导入模块: from r2.models import Account [as 别名]
# 或者: from r2.models.Account import _fullname_from_id36 [as 别名]
    def _get_sr_restriction(sr):
        """Return a cloudsearch appropriate query string that restricts
        results to only contain results from self.sr
        
        """
        bq = []
        if (not sr) or sr == All or isinstance(sr, DefaultSR):
            return None
        elif isinstance(sr, MultiReddit):
            bq = ["(or"]
            for sr_id in sr.sr_ids:
                bq.append("sr_id:%s" % sr_id)
            bq.append(")")
        elif isinstance(sr, DomainSR):
            bq = ["site:'%s'" % sr.domain]
        elif sr == Friends:
            if not c.user_is_loggedin or not c.user.friends:
                return None
            bq = ["(or"]
            # The query limit is roughly 8k bytes. Limit to 200 friends to
            # avoid getting too close to that limit
            friend_ids = c.user.friends[:200]
            friends = ["author_fullname:'%s'" % Account._fullname_from_id36(r2utils.to36(id_)) for id_ in friend_ids]
            bq.extend(friends)
            bq.append(")")
        elif isinstance(sr, ModContribSR):
            bq = ["(or"]
            for sr_id in sr.sr_ids:
                bq.append("sr_id:%s" % sr_id)
            bq.append(")")
        elif not isinstance(sr, FakeSubreddit):
            bq = ["sr_id:%s" % sr._id]

        return " ".join(bq)
开发者ID:jzplusplus,项目名称:reddit,代码行数:36,代码来源:cloudsearch.py

示例4: bulk_upsert

# 需要导入模块: from r2.models import Account [as 别名]
# 或者: from r2.models.Account import _fullname_from_id36 [as 别名]
def bulk_upsert(links):
    updates = filter(lambda user: getattr(user, "dfp_creative_id", False), links)
    inserts = filter(lambda user: not getattr(user, "dfp_creative_id", False), links)

    dfp_creative_service = DfpService("CreativeService")
    creatives = []

    if updates:
        existing_creatives = {}
        statement = dfp.FilterStatement(
            "WHERE id IN (%s)" % 
                ", ".join([str(link.dfp_creative_id) for link in updates]))

        while True:
            response = dfp_creative_service.execute(
                "getCreativesByStatement",
                statement.ToStatement(),
            )

            if "results" in response:
                for creative in response["results"]:
                    existing_creatives[creative.id] = creative
                statement.offset += dfp.SUGGESTED_PAGE_LIMIT
            else:
                break


        updated = dfp_creative_service.execute("updateCreatives", [
            _link_to_creative(
                link=link,
                existing=existing_creatives[link.dfp_creative_id],
            )
        for link in updates])

        creatives += updated

    if inserts:
        authors = Account._byID([link.author_id for link in inserts], return_dict=False)
        advertisers = advertisers_service.bulk_upsert(authors)
        advertisers_by_author = {
            advertiser.externalId: advertiser
        for advertiser in advertisers}

        inserted = dfp_creative_service.execute("createCreatives", [
            _link_to_creative(
                link=link,
                advertiser=advertisers_by_author[
                    Account._fullname_from_id36(to36(link.author_id))
                ],
            )
        for link in inserts])

        creatives += inserted

    creatives_by_fullname = {
        utils.get_template_variable(creative, "link_id"): creative
    for creative in creatives}

    for link in links:
        creative = creatives_by_fullname[link._fullname]
        link.dfp_creative_id = creative.id
        link._commit()

    return creatives
开发者ID:carriercomm,项目名称:reddit-plugin-dfp,代码行数:66,代码来源:creatives_service.py


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