def is_activity_public(self, activity): """Returns True if the given activity is public, False otherwise. Uses the post_publics cache if we can't tell otherwise. """ obj = activity.get('object', {}) fb_id = activity.get('fb_id') or obj.get('fb_id') if fb_id and gr_source.object_type(activity) not in ('comment', 'like', 'share'): fb_id = self.cached_resolve_object_id(fb_id, activity=activity) post_publics = self._load_cache('post_publics') public = gr_source.Source.is_public(activity) if not fb_id: return public elif public is not None: post_publics[fb_id] = public # write cache return public else: return post_publics.get(fb_id) # read cache
def is_activity_public(self, activity): """Returns True if the given activity is public, False otherwise. Uses the :attr:`post_publics_json` cache if we can't tell otherwise. """ obj = activity.get('object', {}) fb_id = activity.get('fb_id') or obj.get('fb_id') if fb_id and gr_source.object_type(activity) not in ('comment', 'like', 'share'): fb_id = self.cached_resolve_object_id(fb_id, activity=activity) post_publics = self._load_cache('post_publics') public = gr_source.Source.is_public(activity) if not fb_id: return public elif public is not None: post_publics[fb_id] = public # write cache return public else: return post_publics.get(fb_id) # read cache