reduce polling load by condensing the json poll api into one method instead of several

This commit is contained in:
Trever Fischer
2012-04-19 14:47:44 -04:00
parent b37b7895bf
commit 4ae3407fb0
7 changed files with 47 additions and 38 deletions

View File

@@ -8,6 +8,7 @@ from django.http import HttpResponse
from urllib2 import urlopen
import json
from datetime import datetime
from models import cachePlayerList
class WhitelistHandler(AnonymousBaseHandler):
allowed_methods = ('GET',)
@@ -114,3 +115,16 @@ class ServerPingHandler(BaseHandler):
def read(self, request):
return {'identity': request.server}
class PollHandler(BaseHandler):
allowed_methods = ('GET',)
def read(self, request, timestamp):
serverInfo = cache.get('caminus-server-info')
if serverInfo == None:
cachePlayerList()
pollData = {'server-info': {}, 'user-info': {}}
pollData['server-info'] = cache.get('caminus-server-info')
if not request.user.is_anonymous():
pollData['user-info']['balance'] = request.user.minecraftprofile.currencyaccount.balance
return pollData