def query_dojo(request): m_all = Member.objects.all() dojo_dict = {} for m in m_all: if dojo_dict.has_key(m.dojo) is False: dojo_dict[m.dojo] = 0 if m.place == '1st': score = 5 elif m.place == '2nd': score = 3 elif m.place == '3rd': score = 1 else: score = 0 dojo_dict[m.dojo] += score data_list = [] for key, val in dojo_dict.iteritems(): data_list.append({'dojo': key, 'score': val}) global TOP5_LIST TOP5_LIST = [] TOP5_LIST = data_list jsonSerializer = JSONSerializer() data = jsonSerializer.serialize({'aaData': data_list }) return HttpResponse(data, mimetype="application/json")
def query_all(request): jsonSerializer = JSONSerializer() m_all = Member.objects.all() m_list = [] for m in m_all: details = get_details(m) key_details = process_details(details) json_string = jsonSerializer.serialize(m) temp_dict = json.loads(json_string) for key, val in key_details.iteritems(): temp_dict[key] = val m_list.append(temp_dict) data = jsonSerializer.serialize({'aaData': m_list}) return HttpResponse(data, mimetype="application/json")
def query_all(request): ip_addr = request.META['REMOTE_ADDR'] m_all = Member.objects.all() jsonSerializer = JSONSerializer() data = jsonSerializer.serialize({'aaData': m_all}) print "%s : query_all" % ip_addr return HttpResponse(data, mimetype="application/json")
def get_details(m): # Flexable json serializer jsonSerializer = JSONSerializer() phone = m.phone_set.all() addr = m.address_set.all() belt = m.belt_set.all() parent = m.parent_set.all() m_fee = m.membership_fee_set.all() tournament = m.tournament_set.all() usjf = m.usjf_membership_set.all() info = jsonSerializer.serialize(phone) phone = json.loads(info) info = jsonSerializer.serialize(addr) addr = json.loads(info) info = jsonSerializer.serialize(belt) belt = json.loads(info) info = jsonSerializer.serialize(parent) parent = json.loads(info) info = jsonSerializer.serialize(m_fee) m_fee = json.loads(info) info = jsonSerializer.serialize(tournament) tournament = json.loads(info) info = jsonSerializer.serialize(usjf) usjf = json.loads(info) bday = m.birthday data = {'phone': phone, 'addr': addr, 'belt': belt, 'parent': parent, 'm_fee': m_fee, 'tournament': tournament, 'usjf': usjf, 'bday': bday} return data
def query_completed(request): m_all = Member.objects.all() total_member = len(m_all) completed = 0 for m in m_all: if len(m.place) > 0: completed += 1 completed_percentage = float(completed) / float(total_member) completed_percentage = int( round(completed_percentage, 2) * 100 ) not_completed_percentage = 100 - completed_percentage data_object = {'percent': [ ['Completed', completed_percentage], ['Not Completed', not_completed_percentage] ]} jsonSerializer = JSONSerializer() data = jsonSerializer.serialize(data_object) return HttpResponse(data, mimetype="application/json")
def query_top5(request): query_dojo(request) global TOP5_LIST dojo_list = TOP5_LIST dojo_list.sort(key=lambda item: item['score'], reverse=True) top5_list = dojo_list[:5] data_object = {'dojo': [], 'score': []} for o in top5_list: data_object['dojo'].append(o['dojo']) data_object['score'].append(o['score']) print data_object s = data_object['score'] jsonSerializer = JSONSerializer() data = jsonSerializer.serialize({'dojo': data_object['dojo'], 'score': str(s)}) return HttpResponse(data, mimetype="application/json")
def gen_email_info(request): if request.method == 'POST': try: m = simplejson.loads(request.raw_post_data) except ValueError: return HttpResponse('Invalid Json String') try: id_list = m['members'] except KeyError: return HttpResponse('Invalid Key') total_parent_emails = [] total_member_emails = [] for i in id_list: m = Member.objects.filter(pk=i)[0] if m.email != '': total_member_emails.append(m.email) total_parent_emails.extend(get_parent_email_without_name(m)) # Flexable json serializer jsonSerializer = JSONSerializer() #FIXME: Cannot convert this object to json object in the index function, it's weird... parent_emails = ' ,'.join(total_parent_emails) member_emails = ' ,'.join(total_member_emails) d = {'parent_emails': parent_emails, 'member_emails': member_emails } data = jsonSerializer.serialize(d) return HttpResponse(data, mimetype="application/json") return HttpResponse('Invalid http method')