def main(url): character = {} client = DDPClient('ws://dicecloud.com/websocket', auto_reconnect=False) client.is_connected = False client.connect() def connected(): client.is_connected = True client.on('connected', connected) while not client.is_connected: time.sleep(1) client.subscribe('singleCharacter', [url]) def update_character(collection, _id, fields): if character.get(collection) is None: character[collection] = [] fields['id'] = _id character.get(collection).append(fields) client.on('added', update_character) time.sleep(10) client.close() character['id'] = url return character