Ejemplo n.º 1
0
	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)
Ejemplo n.º 2
0
	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)