Exemplo n.º 1
0
    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))
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    def test_sueurdemetal_datefrom(self):
        q = Query()
        later = (datetime.now() + timedelta(days=31))
        q.start_date = later

        ev = self.backend.search_events(q).next()
        self.assertTrue(later.date() <= ev.start_date.date())
Exemplo n.º 4
0
    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))
Exemplo n.º 5
0
    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))
Exemplo n.º 6
0
    def test_datefrom(self):
        query = Query()
        later = (datetime.now() + timedelta(days=31))
        query.start_date = later

        event = next(self.backend.search_events(query))
        self.assertTrue(later.date() <= event.start_date.date())

        event = self.backend.get_event(event.id)
        self.assertTrue(later.date() <= event.start_date.date())
Exemplo n.º 7
0
    def test_datefrom(self):
        query = Query()
        later = (datetime.now() + timedelta(days=31))
        query.start_date = later

        event = self.backend.search_events(query).next()
        self.assertTrue(later.date() <= event.start_date.date())

        event = self.backend.get_event(event.id)
        self.assertTrue(later.date() <= event.start_date.date())
Exemplo n.º 8
0
 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))
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
    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)
Exemplo n.º 11
0
 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))
Exemplo n.º 12
0
    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)
Exemplo n.º 13
0
    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)
Exemplo n.º 14
0
    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'
Exemplo n.º 15
0
    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'
Exemplo n.º 16
0
    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)
Exemplo n.º 17
0
    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)
Exemplo n.º 18
0
    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)
Exemplo n.º 19
0
 def list_events(self, date_from, date_to=None):
     q = Query()
     q.start_date = date_from
     q.end_date = date_to
     return self.search_events(q)
Exemplo n.º 20
0
 def test_sueurdemetal_nocategory(self):
     q = Query()
     q.categories = [CATEGORIES.CINE]
     self.assertTrue(len(list(self.backend.search_events(q))) == 0)
Exemplo n.º 21
0
 def list_events(self, date_from, date_to=None):
     q = Query()
     q.start_date = date_from
     q.end_date = date_to
     return self.search_events(q)