def get(self): friends = self.get_graph_data() stats = self.get_graph_stats() fbid = self.get_argument("uid", None) if fbid: if fbid not in friends: raise tornado.web.HTTPError(404) logging.error("user: %s" % str(friends[fbid])) logging.error("stats: %s (%s)" % (str(stats), str(type(stats)))) self.set_header('Content-Type', 'application/json') self.write(json.dumps(mateman.getStats(friends[fbid], stats))) else: raise tornado.web.HTTPError(400)
def get(self): parent1_uid = self.get_argument('parent1_uid') parent2_uid = self.get_argument('parent2_uid') if parent1_uid and parent2_uid: friends = self.get_graph_data() stats = self.get_graph_stats() baby = mateman.makeBaby(friends[parent1_uid], friends[parent2_uid]) baby['stats'] = mateman.getStats(baby, stats) parent1_stats = {'stats': mateman.getStats(friends[parent1_uid], stats)} parent2_stats = {'stats': mateman.getStats(friends[parent2_uid], stats)} # getBio function requires user object with stats key, so merge in that data parent1_with_stats = dict(friends[parent1_uid], **parent1_stats) parent2_with_stats = dict(friends[parent2_uid], **parent2_stats) bio = mateman.getBio(baby, parent1_with_stats, parent2_with_stats) baby_id = str(uuid.uuid4()) baby_data = {'id': baby_id, 'baby': baby, 'bio': bio, 'images': layer_images_for_baby(baby)} r = self.get_redis_conn() r.set("%s:baby:%s" % (self.current_user['id'], baby_id), json.dumps(baby_data)) r.lpush("%s:baby_ids" % (self.current_user['id']), baby_id) r.ltrim("%s:baby_ids" % (self.current_user['id']), 0, 99) self.set_header('Content-Type', 'application/json') self.write(json.dumps(baby_data)) else: raise tornado.web.HTTPError(400)