def test_get_occurrences(self): brains = get_portal_events(self.portal) result = get_occurrences_from_brains(self.portal, brains) self.assertTrue(len(result) == 9) result = get_occurrences_from_brains(self.portal, brains, range_start=self.now) self.assertTrue(len(result) == 9) result = get_occurrences_from_brains(self.portal, brains, limit=5) self.assertTrue(len(result) == 5) self.assertTrue(IEventAccessor.providedBy(result[0]))
def get_data(self): start = guess_date_from(self.request.form.get('start', '')) limit = self.request.form.get('limit', None) b_size = self.request.form.get('b_size', 20) b_start = self.request.form.get('b_start', 0) result = get_portal_events(self.context, range_start=start) # TODO: performance issue! the batch is somehow useless, if we # calculate every result item anyways. occ = [IEventAccessor(occ) for occ in\ get_occurrences_from_brains(self.context, result, range_start=start, limit=limit)] return Batch(occ, b_size, b_start)
def get_events(self, start=None, end=None, batch=True, mode=None): context = self.context mode = mode or self.mode if not mode and not start and not end: mode = "future" if mode: dt = None if self.date: try: dt = guess_date_from(self.date) except TypeError: pass start, end = start_end_from_mode(mode, dt, context) b_start = b_size = None if batch: b_start = self.b_start b_size = self.b_size occs = get_occurrences_from_brains( context, get_portal_events( context, start, end, # b_start=b_start, b_size=b_size, path=context.getPhysicalPath(), ), start, end, ) if batch: ret = Batch(occs, size=b_size, start=b_start, orphan=self.orphan) else: ret = occs return ret
def published_events(self): context = aq_inner(self.context) return get_occurrences_from_brains(context, self._data(), range_start=localized_now(), limit=self.data.count)
def test_get_occurrences(self): get_occurrences_from_brains(object, [], range_start=datetime.datetime.today())