def get_upcoming_events(self): """ Get upcoming PythonKC meetup events. Returns ------- List of ``pythonkc_meetups.types.MeetupEvent``, ordered by event time, ascending. Exceptions ---------- * PythonKCMeetupsBadJson * PythonKCMeetupsBadResponse * PythonKCMeetupsMeetupDown * PythonKCMeetupsNotJson * PythonKCMeetupsRateLimitExceeded """ query = urllib.urlencode({'key': self._api_key, 'group_urlname': GROUP_URLNAME}) url = '{0}?{1}'.format(EVENTS_URL, query) data = self._http_get_json(url) events = data['results'] return [parse_event(event) for event in events]
def get_upcoming_events(self): """ Get upcoming PythonKC meetup events. Returns ------- List of ``pythonkc_meetups.types.MeetupEvent``, ordered by event time, ascending. Exceptions ---------- * PythonKCMeetupsBadJson * PythonKCMeetupsBadResponse * PythonKCMeetupsMeetupDown * PythonKCMeetupsNotJson * PythonKCMeetupsRateLimitExceeded """ query = urllib.urlencode({ 'key': self._api_key, 'group_urlname': GROUP_URLNAME }) url = '{0}?{1}'.format(EVENTS_URL, query) data = self._http_get_json(url) events = data['results'] return [parse_event(event) for event in events]
def get_past_events(self): """ Get past PythonKC meetup events. Returns ------- List of ``pythonkc_meetups.types.MeetupEvent``, ordered by event time, descending. Exceptions ---------- * PythonKCMeetupsBadJson * PythonKCMeetupsBadResponse * PythonKCMeetupsMeetupDown * PythonKCMeetupsNotJson * PythonKCMeetupsRateLimitExceeded """ def get_attendees(event): return [ attendee for event_id, attendee in events_attendees if event_id == event['id'] ] def get_photos(event): return [ photo for event_id, photo in events_photos if event_id == event['id'] ] params = { 'key': self._api_key, 'group_urlname': GROUP_URLNAME, 'status': 'past', 'desc': 'true' } if self._num_past_events: params['page'] = str(self._num_past_events) query = urllib.urlencode(params) url = '{0}?{1}'.format(EVENTS_URL, query) data = self._http_get_json(url) events = data['results'] event_ids = [event['id'] for event in events] events_attendees = self.get_events_attendees(event_ids) events_photos = self.get_events_photos(event_ids) return [ parse_event(event, get_attendees(event), get_photos(event)) for event in events ]
def get_past_events(self): """ Get past PythonKC meetup events. Returns ------- List of ``pythonkc_meetups.types.MeetupEvent``, ordered by event time, descending. Exceptions ---------- * PythonKCMeetupsBadJson * PythonKCMeetupsBadResponse * PythonKCMeetupsMeetupDown * PythonKCMeetupsNotJson * PythonKCMeetupsRateLimitExceeded """ def get_attendees(event): return [attendee for event_id, attendee in events_attendees if event_id == event['id']] def get_photos(event): return [photo for event_id, photo in events_photos if event_id == event['id']] params = {'key': self._api_key, 'group_urlname': GROUP_URLNAME, 'status': 'past', 'desc': 'true'} if self._num_past_events: params['page'] = str(self._num_past_events) query = urllib.parse.urlencode(params) url = '{0}?{1}'.format(EVENTS_URL, query) data = self._http_get_json(url) events = data['results'] event_ids = [event['id'] for event in events] # events_attendees = self.get_events_attendees(event_ids) # events_photos = self.get_events_photos(event_ids) events_attendees = [] events_photos = [] return [parse_event(event, get_attendees(event), get_photos(event)) for event in events]