12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import random
- from operator import itemgetter
- from functools import partial
- from ujson import dumps as uj_dumps
- from django.http import HttpResponse
- from django.shortcuts import render
- from world.models import World, Fortune
- _random_int = partial(random.randint, 1, 10000)
- def _get_queries(request):
- try:
- queries = int(request.GET.get('queries', 1))
- except Exception:
- queries = 1
- if queries < 1:
- queries = 1
- if queries > 500:
- queries = 500
- return queries
- def plaintext(request):
- return HttpResponse("Hello, World!", content_type="text/plain")
- def json(request):
- return HttpResponse(
- uj_dumps({"message": "Hello, World!"}),
- content_type="application/json"
- )
- def db(request):
- r = _random_int()
- world = uj_dumps({
- 'id': r,
- 'randomNumber': World.objects.get(id=r).randomnumber
- })
- return HttpResponse(world, content_type="application/json")
- def dbs(request):
- queries = _get_queries(request)
- def caller(input_):
- int_ = _random_int()
- return {'id': int_, 'randomNumber': World.objects.get(id=int_).randomnumber}
- worlds = tuple(map(caller, range(queries)))
- return HttpResponse(uj_dumps(worlds), content_type="application/json")
- def fortunes(request):
- fortunes = list(Fortune.objects.values('id', 'message'))
- fortunes.append({"id": 0, 'message': "Additional fortune added at request time."})
- fortunes.sort(key=itemgetter('message'))
- return render(request, 'fortunes.html', {'fortunes': fortunes})
- def update(request):
- queries = _get_queries(request)
- def caller(input_):
- w = World.objects.get(id=_random_int())
- w.randomnumber = _random_int()
- w.save()
- return {'id': w.id, 'randomNumber': w.randomnumber}
- worlds = tuple(map(caller, range(queries)))
- return HttpResponse(uj_dumps(worlds), content_type="application/json")
|