Exemple #1
0
def get_race_data():
	host = "http://eu.battle.net"
	
	try:
		races = JsonData.objects.get(description='races')
	except JsonData.DoesNotExist:
		races = None
	
	if races is None or races.date <= timezone.now() - datetime.timedelta(hours=12):
		print "Updating races in DB"	
		
		# Fetch class info from blizzard
		url = host + "/api/wow/data/character/races"
		response = urllib2.urlopen(url).read()
		
		try:
			old = JsonData.objects.get(description='races')
			old.delete()
		except JsonData.DoesNotExist:
			pass
		jsonData = JsonData(description='races', json=response)
		jsonData.save()			
	else:
		print "Using races classes from DB"
		response = races.json
	
	racedata = json.loads(response)
	races = racedata['races']
	rl = {}
	
	# Construct a dictionary to be able to lookup classes
	for r in races:
		rl[r['id']] = r['name']
	return rl
Exemple #2
0
def get_member_data():
	host = "http://eu.battle.net"
	
	# Check if we have recently updated data in DB
	try:
		members = JsonData.objects.get(description='members')
	except JsonData.DoesNotExist:
		members = None
	print members
	
	# If we dont have an entry for members, or if its too old, fetch new data from blizzard
	if members is None or members.date <= timezone.now() - datetime.timedelta(minutes=15):
		# Fetch guild members
		print "Updating members in DB"
		url = host + "/api/wow/guild/" + REALM_URL + "/" + GUILD_NAME_URL + "?fields=members"
		response = urllib2.urlopen(url).read()
		
		# Remove old entry if one exists
		try:
			old = JsonData.objects.get(description='members')
			old.delete()
		except JsonData.DoesNotExist:
			pass
		jsonData = JsonData(description='members', json=response)
		jsonData.save()
	else:
		response = members.json
		print "Using existing members from DB"
	
	guild = json.loads(response)
	return guild['members']
	# members = guild['members']