Skip to content

Instantly share code, notes, and snippets.

@koaning
Created March 23, 2014 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save koaning/9723443 to your computer and use it in GitHub Desktop.
Save koaning/9723443 to your computer and use it in GitHub Desktop.
script for meetup api
import requests as rq
import json
import collections
import time
API_KEY = 'APIKEY'
GROUP_ID = 'GROUPID'
def handle_event(event, event_dict):
event_dict[ event ] = {}
rsvp_link = 'https://api.meetup.com/2/rsvps?&sign=true&page=100' + '&key=' + API_KEY
rsvp_link += '&event_id=' + event
rsvp_resp = rq.request('GET', rsvp_link)
for person in [a['member']['member_id'] for a in rsvp_resp.json()['results']]:
event_dict[ event ][ person ] = 1
return event_dict
def get_all_events():
all_events = []
link = 'https://api.meetup.com/2/events?&sign=true&status=past&page=200'
link += '&group_id=' + GROUP_ID
link += '&key=' + API_KEY
for offset in range(0,1):
req_link = link + '&offset=' + str(offset)
response = rq.request('GET',req_link)
for event in response.json()['results']:
all_events.append( event['id'] )
return all_events
event_dict = collections.OrderedDict()
counter = 0
for event in get_all_events():
time.sleep( 0.1 )
counter = counter + 1
event_dict = handle_event(event, event_dict)
print "event :" + str(counter) + ", event_dict_len : " + str(len(event_dict.keys()))
event_mapper = {}
person_mapper = {}
i = 0
j = 0
data = []
for event in event_dict:
if event not in event_mapper.keys():
event_mapper[ event ] = i
i = i + 1
for person in event_dict[event].keys():
if person not in person_mapper.keys():
person_mapper[ person ] = j
j = j + 1
data.append( { 'x' : event_mapper[event], 'y' : person_mapper[person] } )
print json.dumps(data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment