def test_sueurdemetal_searchcity(self): q = Query() q.city = u'paris' self.assertTrue(len(list(self.backend.search_events(q))) > 0) ev = self.backend.search_events(q).next() self.assertTrue(self.backend.get_event(ev.id))
def do_search(self, line): """ search search for an event. Parameters interactively asked """ query = Query() self.select_values(CATEGORIES, query.categories, " Select categorie (or empty to stop)") self.select_values(TICKET, query.ticket, " Select tickets status (or empty to stop)") if query.categories and len(query.categories) > 0 and query.ticket and len(query.ticket) > 0: query.city = self.ask("Enter a city", default="") query.summary = self.ask("Enter a title", default="") start_date = self.ask_date("Enter a start date", default="today") end_date = self.ask_date("Enter a end date", default="") if end_date: if end_date == start_date: end_date = datetime.combine(start_date, time.max) else: end_date = datetime.combine(end_date, time.max) query.start_date = datetime.combine(start_date, time.min) query.end_date = end_date save_query = self.ask("Save query (y/n)", default="n") if save_query.upper() == "Y": name = "" while not name: name = self.ask("Query name") self.config.set("queries", name, query) self.config.save() self.complete_search(query)
def do_search(self, line): """ search search for an event. Parameters interactively asked """ query = Query() self.select_values(CATEGORIES, query.categories, ' Select categorie (or empty to stop)') self.select_values(TICKET, query.ticket, ' Select tickets status (or empty to stop)') if query.categories and len(query.categories) > 0 and query.ticket and len(query.ticket) > 0: query.city = self.ask('Enter a city', default='') query.summary = self.ask('Enter a title', default='') start_date = self.ask_date('Enter a start date', default='today') end_date = self.ask_date('Enter a end date', default='') if end_date: if end_date == start_date: end_date = datetime.combine(start_date, time.max) else: end_date = datetime.combine(end_date, time.max) query.start_date = datetime.combine(start_date, time.min) query.end_date = end_date save_query = self.ask('Save query (y/n)', default='n') if save_query.upper() == 'Y': name = '' while not name: name = self.ask('Query name') self.config.set('queries', name, query) self.config.save() self.complete_search(query)
def do_search(self, line): """ search search for an event. Parameters interactively asked """ query = Query() self.select_values(CATEGORIES, query.categories, ' Select categorie (or empty to stop)') self.select_values(TICKET, query.ticket, ' Select tickets status (or empty to stop)') if query.categories and len(query.categories) > 0 and query.ticket and len(query.ticket) > 0: query.city = self.ask('Enter a city', default='') query.summary = self.ask('Enter a title', default='') start_date = self.ask_date('Enter a start date', default='today') end_date = self.ask_date('Enter a end date', default='') if end_date: if end_date == start_date: end_date = datetime.combine(start_date, time.max) else: end_date = datetime.combine(end_date, time.max) query.start_date = datetime.combine(start_date, time.min) query.end_date = end_date self.change_path([u'events']) self.start_format() for event in self.do('search_events', query): if event: self.cached_format(event)
def test_searchcity(self): query = Query() query.city = u'Melbourne' self.assertTrue(len(list(self.backend.search_events(query))) > 0) event = next(self.backend.search_events(query)) self.assertTrue(self.backend.get_event(event.id))
def test_searchcity(self): query = Query() query.city = u'Melbourne' self.assertTrue(len(list(self.backend.search_events(query))) > 0) event = self.backend.search_events(query).next() self.assertTrue(self.backend.get_event(event.id))
def test_showtimelist(self): query = Query() query.city = u'59000' query.categories = [CATEGORIES.CINE] query.start_date = datetime.now() l = self.backend.search_events(query) assert len(l) e = l[0] self.backend.fillobj(e, 'description') self.assertTrue(e.description, 'Description of "%s" not found' % (e.id)) e = self.backend.get_event(e.id) self.assertTrue(e.description, 'Description of "%s" not found' % (e.id))
def test_sueurdemetal_searchcity(self): q = Query() q.city = u'paris' self.assertTrue(len(list(self.backend.search_events(q))) > 0) ev = next(iter(self.backend.search_events(q))) self.check_event(ev) ev = self.backend.fillobj(ev) self.check_event(ev, full=True) ev = self.backend.get_event(ev.id) self.check_event(ev, full=True)
def do_search(self, line): """ search search for an event. Parameters interactively asked """ query = Query() r = "notempty" while r != "": for category in CATEGORIES.values: print " %s%2d)%s [%s] %s" % ( self.BOLD, CATEGORIES.index[category] + 1, self.NC, "x" if category in query.categories else " ", category, ) r = self.ask(" Select category (or empty to stop)", regexp="(\d+|)", default="") if not r.isdigit(): continue r = int(r) if r <= 0 or r > len(CATEGORIES.values): continue value = CATEGORIES.values[r - 1] if value in query.categories: query.categories.remove(value) else: query.categories.append(value) if query.categories and len(query.categories) > 0: query.city = self.ask("Enter a city", default="") start_date = self.ask_date("Enter a start date", default="today") end_date = self.ask_date("Enter a end date", default="") if end_date: if end_date == start_date: end_date = datetime.combine(start_date, time.max) else: end_date = datetime.combine(end_date, time.max) query.start_date = datetime.combine(start_date, time.min) query.end_date = end_date self.change_path([u"events"]) self.start_format() for backend, event in self.do("search_events", query): if event: self.cached_format(event)
def do_search(self, line): """ search search for an event. Parameters interactively asked """ query = Query() r = 'notempty' while r != '': for category in CATEGORIES.values: print ' %s%2d)%s [%s] %s' % (self.BOLD, CATEGORIES.index[category] + 1, self.NC, 'x' if category in query.categories else ' ', category) r = self.ask(' Select category (or empty to stop)', regexp='(\d+|)', default='') if not r.isdigit(): continue r = int(r) if r <= 0 or r > len(CATEGORIES.values): continue value = CATEGORIES.values[r - 1] if value in query.categories: query.categories.remove(value) else: query.categories.append(value) if query.categories and len(query.categories) > 0: query.city = self.ask('Enter a city', default='') start_date = self.ask_date('Enter a start date', default='today') end_date = self.ask_date('Enter a end date', default='') if end_date: if end_date == start_date: end_date = datetime.combine(start_date, time.max) else: end_date = datetime.combine(end_date, time.max) query.start_date = datetime.combine(start_date, time.min) query.end_date = end_date self.change_path([u'events']) self.start_format() for backend, event in self.do('search_events', query): if event: self.cached_format(event)
def test_basic_search(self): q = Query() q.city = 'paris' event = None for n, event in enumerate(self.backend.search_events(q)): assert event.summary assert event.description assert event.start_date assert event.end_date assert event.start_date <= event.end_date assert event.city assert event.location assert not empty(event.price) assert event.category if n == 9: break else: assert False, 'not enough events'
def _fetch_objects(self, objs): objects = [] collections = [] split_path = self.working_path.get() try: if len(split_path) == 0: for category in CATEGORIES.values: collection = Collection([category], category) collection.backend = u'boobcoming' collections.append(collection) elif len(split_path) == 1 and split_path[0] in CATEGORIES.values: query = Query() query.categories = split_path query.start_date = datetime.combine(parse_date('today'), time.min) query.end_date = parse_date('') query.city = '' for backend, event in self.do('search_events', query): if event: objects.append(event) except CallErrors as errors: self.bcall_errors_handler(errors, CollectionNotFound) return (objects, collections)