Ejemplo n.º 1
0
    def test_parse_dict(self):
        self.assertEqual(
            Event.parse_dict(
                {
                    "summary": "Google I/O 2015",
                    "start": {"dateTime": "2015-05-28T09:00:00-07:00", "timeZone": "America/Los_Angeles"},
                    "end": {"dateTime": "2015-05-28T17:00:00-07:00", "timeZone": "America/Los_Angeles"},
                    "creator": {"displayName": "Foo Bar", "email": "*****@*****.**"},
                },
                "America/Los_Angeles",
            ),
            self.e0,
        )
        self.assertEqual(
            Event.parse_dict(
                {"summary": "あいうえお", "start": {"date": "2015-10-17"}, "end": {"date": "2015-10-18"}}, "Asia/Tokyo"
            ),
            self.e1,
        )

        self.assertEqual(
            Event.parse_dict(
                {
                    "summary": "あいうえお",
                    "start": {"date": "2015-10-17"},
                    "end": {"date": "2015-10-18"},
                    "creator": {"email": "*****@*****.**"},
                },
                "Asia/Tokyo",
            ),
            self.e2,
        )
Ejemplo n.º 2
0
    def test_parse_dict(self):
        self.assertEqual(
            Event.parse_dict(
                {
                    'summary': 'Google I/O 2015',
                    'start': {
                        'dateTime': '2015-05-28T09:00:00-07:00',
                        'timeZone': 'America/Los_Angeles'
                    },
                    'end': {
                        'dateTime': '2015-05-28T17:00:00-07:00',
                        'timeZone': 'America/Los_Angeles'
                    },
                    'creator': {
                        'displayName': 'Foo Bar',
                        'email': '*****@*****.**',
                    },
                }, 'America/Los_Angeles'), self.e0)
        self.assertEqual(
            Event.parse_dict(
                {
                    'summary': 'あいうえお',
                    'start': {
                        'date': '2015-10-17'
                    },
                    'end': {
                        'date': '2015-10-18'
                    },
                }, 'Asia/Tokyo'), self.e1)

        self.assertEqual(
            Event.parse_dict(
                {
                    'summary': 'あいうえお',
                    'start': {
                        'date': '2015-10-17'
                    },
                    'end': {
                        'date': '2015-10-18'
                    },
                    'creator': {
                        'email': '*****@*****.**'
                    },
                }, 'Asia/Tokyo'), self.e2)
 def list_events(self, calendar_id, time_min, time_max):
     """
     :return: list[Event]: event list sorted by startTime and endTime (all-day events come first)
     """
     params = {
         "calendarId": calendar_id,
         "timeMin": time_min.astimezone(pytz.utc).isoformat(),
         "timeMax": time_max.astimezone(pytz.utc).isoformat(),
         "maxResults": MAX_RESULTS,
         "singleEvents": True,
         "orderBy": "startTime",
     }
     events_result = self._service.events().list(**params).execute()
     return sorted(Event.parse_dict(d, events_result["timeZone"]) for d in events_result.get("items", []))
 def list_events(self, calendar_id, time_min, time_max):
     """
     :return: list[Event]: event list sorted by startTime and endTime (all-day events come first)
     """
     params = {
         'calendarId': calendar_id,
         'timeMin': time_min.astimezone(pytz.utc).isoformat(),
         'timeMax': time_max.astimezone(pytz.utc).isoformat(),
         'maxResults': MAX_RESULTS,
         'singleEvents': True,
         'orderBy': 'startTime'
     }
     events_result = self._service.events().list(**params).execute()
     return sorted(Event.parse_dict(d, events_result['timeZone']) for d in events_result.get('items', []))