diff -r 7207a5a27b8f -r f236caaceb43 web/blinkster/views.py --- a/web/blinkster/views.py Fri Jan 22 04:16:06 2010 +0100 +++ b/web/blinkster/views.py Fri Jan 22 18:23:34 2010 +0100 @@ -8,14 +8,22 @@ from django.core.serializers.json import DjangoJSONEncoder from django.utils import simplejson -from blinkster.models import Roi +from blinkster.models import Roi, Poi import blinkster -def roi(request): - response = HttpResponse(content_type="application/json; charset=utf-8") +def serialize_queryset_to_json(response, objects): objs = { "version" : blinkster.VERSION, - "rois" : [roi.serialize_to_dict() for roi in Roi.objects.all()] + "rois" : objects } simplejson.dump(objs, response, cls=DjangoJSONEncoder,ensure_ascii=False, indent=4) return response + +def roi_list(request): + response = HttpResponse(content_type="application/json; charset=utf-8") + return serialize_queryset_to_json(response, [roi.serialize_to_dict() for roi in Roi.objects.all()]) + +def poi_list(request, roi_sid): + response = HttpResponse(content_type="application/json; charset=utf-8") + return serialize_queryset_to_json(response, [poi.serialize_to_dict() for poi in Poi.objects.filter(roi__sid=roi_sid)]) + return response