def test_2013flbr(self):
        with open('test_data/usfirst_html/usfirst_event_details_2013flbr.html',
                  'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event),
                         'America/New_York')
Ejemplo n.º 2
0
    def postUpdateHook(cls, events, updated_attr_list, is_new_list):
        """
        To run after models have been updated
        """
        for (event, updated_attrs) in zip(events, updated_attr_list):
            try:
                if event.within_a_day and "alliance_selections_json" in updated_attrs:
                    # Send updated alliances notification
                    logging.info(
                        "Sending alliance notifications for {}".format(
                            event.key_name))
                    NotificationHelper.send_alliance_update(event)
            except Exception:
                logging.error(
                    "Error sending alliance update notification for {}".format(
                        event.key_name))
                logging.error(traceback.format_exc())

            try:
                event.timezone_id = EventHelper.get_timezone_id(
                    event.location, event.key.id())
                cls.createOrUpdate(event, run_post_update_hook=False)
            except Exception:
                logging.warning("Timezone update for event {} failed!".format(
                    event.key_name))

        # Enqueue task to calculate district points
        for event in events:
            taskqueue.add(url='/tasks/math/do/district_points_calc/{}'.format(
                event.key.id()),
                          method='GET')
    def postUpdateHook(cls, events, updated_attr_list, is_new_list):
        """
        To run after models have been updated
        """
        for (event, updated_attrs) in zip(events, updated_attr_list):
            try:
                if event.within_a_day and "alliance_selections_json" in updated_attrs:
                    # Send updated alliances notification
                    logging.info("Sending alliance notifications for {}".format(event.key_name))
                    NotificationHelper.send_alliance_update(event)
            except Exception:
                logging.error("Error sending alliance update notification for {}".format(event.key_name))
                logging.error(traceback.format_exc())

            try:
                event.timezone_id = EventHelper.get_timezone_id(event.location, event.key.id())
                cls.createOrUpdate(event, run_post_update_hook=False)
            except Exception:
                logging.warning("Timezone update for event {} failed!".format(event.key_name))

        # Enqueue task to calculate district points
        for event in events:
            taskqueue.add(
                url='/tasks/math/do/district_points_calc/{}'.format(event.key.id()),
                method='GET')
    def test_2002sj(self):
        with open('test_data/usfirst_html/usfirst_event_details_2002sj.html',
                  'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event),
                         'America/Los_Angeles')
Ejemplo n.º 5
0
    def getEventDetails(self, year, first_eid):
        if type(year) is not int:
            raise TypeError("year must be an integer")
        url = self.EVENT_DETAILS_URL_PATTERN % (first_eid)
        event, _ = self.parse(url, UsfirstLegacyEventDetailsParser,
                              self.getSessionKey(year))
        if event is None:
            return None

        return Event(id=str(event["year"]) +
                     str.lower(str(event["event_short"])),
                     end_date=event.get("end_date", None),
                     event_short=event.get("event_short", None),
                     event_type_enum=event.get("event_type_enum", None),
                     first_eid=first_eid,
                     name=event.get("name", None),
                     short_name=event.get("short_name", None),
                     official=True,
                     start_date=event.get("start_date", None),
                     venue_address=event.get("venue_address", None),
                     location=event.get("location", None),
                     timezone_id=EventHelper.get_timezone_id(
                         event.get("location", None),
                         '{}{}'.format(event['year'], event['event_short'])),
                     website=event.get("website", None),
                     year=event.get("year", None))
 def test_2012ct_bad_location(self):
     with open('test_data/usfirst_html/usfirst_event_details_2012ct.html',
               'r') as f:
         event, _ = UsfirstEventDetailsParser.parse(f.read())
     event['location'] = "somewhere on mars"
     self.assertEqual(
         EventHelper.get_timezone_id(
             event['location'], '{}{}'.format(event['year'],
                                              event['event_short'])), None)
Ejemplo n.º 7
0
 def postUpdateHook(cls, events):
     """
     To run after models have been updated
     """
     for event in events:
         try:
             event.timezone_id = EventHelper.get_timezone_id(event.location, event.key.id())
             cls.createOrUpdate(event, run_post_update_hook=False)
         except Exception:
             logging.warning("Timezone update for event {} failed!".format(event.key.id()))
    def test_2005or(self):
        with open('test_data/usfirst_html/usfirst_event_details_2005or.html',
                  'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(
            EventHelper.get_timezone_id(
                event['location'], '{}{}'.format(event['year'],
                                                 event['event_short'])),
            'America/Los_Angeles')
 def postUpdateHook(cls, events):
     """
     To run after models have been updated
     """
     for event in events:
         try:
             event.timezone_id = EventHelper.get_timezone_id(
                 event.location, event.key.id())
             cls.createOrUpdate(event, run_post_update_hook=False)
         except Exception:
             logging.warning("Timezone update for event {} failed!".format(
                 event.key.id()))
    def postUpdateHook(cls, events, updated_attr_list, is_new_list):
        """
        To run after models have been updated
        """
        for (event, updated_attrs) in zip(events, updated_attr_list):
            try:
                event.timezone_id = EventHelper.get_timezone_id(event.location, event.key.id())
                cls.createOrUpdate(event, run_post_update_hook=False)
            except Exception:
                logging.warning("Timezone update for event {} failed!".format(event.key_name))

        # Enqueue task to calculate district points
        for event in events:
            taskqueue.add(
                url='/tasks/math/do/district_points_calc/{}'.format(event.key.id()),
                method='GET')
Ejemplo n.º 11
0
    def postUpdateHook(cls, events, updated_attr_list, is_new_list):
        """
        To run after models have been updated
        """
        for (event, updated_attrs) in zip(events, updated_attr_list):
            try:
                event.timezone_id = EventHelper.get_timezone_id(
                    event.location, event.key.id())
                cls.createOrUpdate(event, run_post_update_hook=False)
            except Exception:
                logging.warning("Timezone update for event {} failed!".format(
                    event.key_name))

        # Enqueue task to calculate district points
        for event in events:
            taskqueue.add(url='/tasks/math/do/district_points_calc/{}'.format(
                event.key.id()),
                          method='GET')
Ejemplo n.º 12
0
    def getEventDetails(self, first_eid):
        url = self.EVENT_DETAILS_URL_PATTERN % (first_eid)
        event, _ = self.parse(url, UsfirstEventDetailsParser)
        if event is None:
            return None

        return Event(id=str(event["year"]) +
                     str.lower(str(event["event_short"])),
                     end_date=event.get("end_date", None),
                     event_short=event.get("event_short", None),
                     event_type_enum=event.get("event_type_enum", None),
                     first_eid=first_eid,
                     name=event.get("name", None),
                     short_name=event.get("short_name", None),
                     official=True,
                     start_date=event.get("start_date", None),
                     venue_address=event.get("venue_address", None),
                     venue=event.get("venue", None),
                     location=event.get("location", None),
                     timezone_id=EventHelper.get_timezone_id(event),
                     website=event.get("website", None),
                     year=event.get("year", None))
Ejemplo n.º 13
0
    def getEventDetails(self, first_eid):
        url = self.EVENT_DETAILS_URL_PATTERN % (first_eid)
        event, _ = self.parse(url, UsfirstEventDetailsParser)
        if event is None:
            return None

        return Event(
            id=str(event["year"]) + str.lower(str(event["event_short"])),
            end_date=event.get("end_date", None),
            event_short=event.get("event_short", None),
            event_type_enum=event.get("event_type_enum", None),
            first_eid=first_eid,
            name=event.get("name", None),
            short_name=event.get("short_name", None),
            official=True,
            start_date=event.get("start_date", None),
            venue_address=event.get("venue_address", None),
            venue=event.get("venue", None),
            location=event.get("location", None),
            timezone_id=EventHelper.get_timezone_id(event.get("location", None), '{}{}'.format(event['year'], event['event_short'])),
            website=event.get("website", None),
            year=event.get("year", None)
        )
    def getEventDetails(self, year, first_eid):
        if type(year) is not int:
            raise TypeError("year must be an integer")
        url = self.EVENT_DETAILS_URL_PATTERN % (first_eid)
        event, _ = self.parse(url, UsfirstLegacyEventDetailsParser)
        if event is None:
            return None

        return Event(
            id=str(event["year"]) + str.lower(str(event["event_short"])),
            end_date=event.get("end_date", None),
            event_short=event.get("event_short", None),
            event_type_enum=event.get("event_type_enum", None),
            first_eid=first_eid,
            name=event.get("name", None),
            short_name=event.get("short_name", None),
            official=True,
            start_date=event.get("start_date", None),
            venue_address=event.get("venue_address", None),
            location=event.get("location", None),
            timezone_id=EventHelper.get_timezone_id(event),
            website=event.get("website", None),
            year=event.get("year", None)
        )
    def test_2002sj(self):
        with open('test_data/usfirst_html/usfirst_event_details_2002sj.html', 'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event['location'], '{}{}'.format(event['year'], event['event_short'])), 'America/Los_Angeles')
    def test_2005is(self):
        with open('test_data/usfirst_html/usfirst_event_details_2005is.html',
                  'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event), 'Asia/Jerusalem')
 def test_2012ct_bad_location(self):
     with open('test_data/usfirst_html/usfirst_event_details_2012ct.html', 'r') as f:
         event, _ = UsfirstEventDetailsParser.parse(f.read())
     event['location'] = "somewhere on mars"
     self.assertEqual(EventHelper.get_timezone_id(event['location'], '{}{}'.format(event['year'], event['event_short'])), None)
    def test_2005is(self):
        with open('test_data/usfirst_html/usfirst_event_details_2005is.html', 'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event['location'], '{}{}'.format(event['year'], event['event_short'])), 'Asia/Jerusalem')
    def test_2005is(self):
        with open('test_data/usfirst_html/usfirst_event_details_2005is.html', 'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event), 'Asia/Jerusalem')
    def test_2013flbr(self):
        with open('test_data/usfirst_html/usfirst_event_details_2013flbr.html', 'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event), 'America/New_York')
    def test_1997il(self):
        with open('test_data/usfirst_html/usfirst_event_details_1997il.html', 'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event), 'America/Chicago')
    def test_2002sj(self):
        with open('test_data/usfirst_html/usfirst_event_details_2002sj.html', 'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event), 'America/Los_Angeles')
 def test_2012ct_no_location(self):
     with open('test_data/usfirst_html/usfirst_event_details_2012ct.html',
               'r') as f:
         event, _ = UsfirstEventDetailsParser.parse(f.read())
     event['location'] = None
     self.assertEqual(EventHelper.get_timezone_id(event), None)
 def test_2012ct_no_location(self):
     with open('test_data/usfirst_html/usfirst_event_details_2012ct.html', 'r') as f:
         event, _ = UsfirstEventDetailsParser.parse(f.read())
     event['location'] = None
     self.assertEqual(EventHelper.get_timezone_id(event), None)
    def test_1997il(self):
        with open('test_data/usfirst_html/usfirst_event_details_1997il.html',
                  'r') as f:
            event, _ = UsfirstEventDetailsParser.parse(f.read())

        self.assertEqual(EventHelper.get_timezone_id(event), 'America/Chicago')