def test_add_send_events(self): from repoze.folder.interfaces import IObjectEvent from repoze.folder.interfaces import IObjectWillBeAddedEvent from repoze.folder.interfaces import IObjectAddedEvent events = [] def listener(object, event): events.append(event) self._registerEventListener(listener, IObjectEvent) dummy = DummyModel() folder = self._makeOne() self.assertEqual(folder._num_objects(), 0) folder.add('a', dummy, send_events=True) self.assertEqual(folder._num_objects(), 1) self.assertEqual(len(events), 2) self.failUnless(IObjectWillBeAddedEvent.providedBy(events[0])) self.assertEqual(events[0].object, dummy) self.assertEqual(events[0].parent, folder) self.assertEqual(events[0].name, 'a') self.failUnless(IObjectAddedEvent.providedBy(events[1])) self.assertEqual(events[1].object, dummy) self.assertEqual(events[1].parent, folder) self.assertEqual(events[1].name, 'a') self.assertEqual(folder['a'], dummy)
def user_added_content(added, event): if IObjectAddedEvent.providedBy(event): events = find_events(added) if not events: return site = find_site(added) profile_id = getattr(added, "creator", None) if profile_id in (None, "None"): return profile = site["profiles"][profile_id] info = _getInfo(profile, added) if info is None: return if info["content_type"] == "Community": info["flavor"] = "added_edited_community" elif info["content_type"] == "Person": info["flavor"] = "added_edited_profile" else: info["flavor"] = "added_edited_other" info["operation"] = "added" events.push(**info)
def user_added_content(added, event): if IObjectAddedEvent.providedBy(event): events = find_events(added) if not events: return site = find_site(added) profile_id = getattr(added, 'creator', None) if profile_id in (None, 'None'): return profile = site['profiles'][profile_id] info = _getInfo(profile, added) if info is None: return if info['content_type'] == 'Community': info['flavor'] = 'added_edited_community' elif info['content_type'] == 'Person': info['flavor'] = 'added_edited_profile' else: info['flavor'] = 'added_edited_other' info['operation'] = 'added' events.push(**info)