fb_api.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:dancedeets-monorepo 作者: mikelambert 项目源码 文件源码
def save_objects(self, keys_to_objects):
        cache_keys = [self.key_to_cache_key(object_key) for object_key, this_object in keys_to_objects.iteritems()]
        if cache_keys:
            existing_objects = FacebookCachedObject.get_by_key_name(cache_keys)
        else:
            existing_objects = []

        db_objects_to_put = []
        for obj, (object_key, this_object) in zip(existing_objects, keys_to_objects.iteritems()):
            if not self._is_cacheable(object_key, this_object):
                #TODO(lambert): cache the fact that it's a private-unshowable event somehow? same as deleted events?
                logging.warning("BatchLookup: Looked up id %s but is not cacheable.", object_key)
                continue
            cache_key = self.key_to_cache_key(object_key)
            if not obj:
                obj = FacebookCachedObject(key_name=cache_key)
            old_json_data = obj.json_data
            obj.encode_data(this_object)
            if old_json_data != obj.json_data:
                self.db_updates += 1
                db_objects_to_put.append(obj)
        if db_objects_to_put:
            try:
                db.put(db_objects_to_put)
            except apiproxy_errors.CapabilityDisabledError as e:
                logging.warning('CapabilityDisabledError: %s', e)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号