From 3c1b69fdea08f287a422d0ef1132effcef1ce778 Mon Sep 17 00:00:00 2001 From: Alexandre Morignot Date: Thu, 27 Nov 2014 15:40:17 +0100 Subject: [PATCH] [residentadvisor] search by ticket status --- modules/residentadvisor/module.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/residentadvisor/module.py b/modules/residentadvisor/module.py index 221a4a61..cffd0293 100644 --- a/modules/residentadvisor/module.py +++ b/modules/residentadvisor/module.py @@ -135,22 +135,26 @@ class ResidentadvisorModule(Module, CapCalendarEvent): if not self.has_matching_categories(query): raise StopIteration() + events = None + if query.city: # FIXME # we need the country to search the city_id in an efficient way city_id = self.browser.get_city_id(query.city) - for event in self.browser.get_events(city = city_id): - yield event + events = self.browser.get_events(city = city_id) elif query.summary: - for event in self.browser.search_events_by_summary(query.summary): - yield event + events = self.browser.search_events_by_summary(query.summary) else: - for event in self.list_events(query.start_date, query.end_date): + events = self.list_events(query.start_date, query.end_date) + + for event in events: + event = self.fillobj(event, ['ticket']) + if event.ticket in query.ticket: yield event def fill_event(self, event, fields): - if set(fields) & set(('end_date', 'price', 'description')): + if set(fields) & set(('end_date', 'price', 'description', 'ticket')): return self.get_event(event.id) return event