Mercurial > personas_backend
view PersonasBackend/personas/views.py @ 20:ccb027c6862a
Added simple JSON views that generate personas_categories.dat and personas_all.dat.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Tue, 26 Feb 2008 18:45:53 -0800 |
parents | 5d8ad63be9cf |
children | 197b05fbd4cc |
line wrap: on
line source
from django.http import HttpResponse from django.utils import simplejson from PersonasBackend.personas import models JSON_CATEGORY_ID_TEMPLATE = "personas-category-%d" JSON_PERSONA_ID_TEMPLATE = "persona-%d" def _makeJsonResponse( obj ): json = simplejson.dumps( obj, indent=4 ) response = HttpResponse( json ) response["Content-Type"] = "text/plain" return response def categories_json( request ): categoryDicts = [ {"label": "Most Popular", "id" : "personas-popular-menu", "type" : "list", "parent" : "top" }, {"label": "Recent", "id" : "personas-recent-menu", "type" : "recent", "parent" : "top" }, {"label": "New", "id" : "personas-new-menu", "type" : "list", "parent" : "top" }, {"label": "All", "id" : "personas-category-menu", "type" : "category", "parent" : "top" }, ] for category in models.Category.objects.all(): categoryDicts.append( {"label" : category.name, "id" : JSON_CATEGORY_ID_TEMPLATE % category.id, "type" : "list", "parent" : "personas-category-menu"} ) return _makeJsonResponse( {"categories" : categoryDicts} ) def personas_json( request ): personaDicts = [] for persona in models.Persona.objects.all(): # TODO: Make sure the Persona is marked as published. personaDicts.append( {"label" : persona.name, "id" : JSON_PERSONA_ID_TEMPLATE % persona.id, "dark" : ( persona.color_scheme == "dark" ), "baseURL" : "", "headerURL" : persona.header_img, "footerURL" : persona.footer_img, "menu" : JSON_CATEGORY_ID_TEMPLATE % persona.category.id, "preview" : "yes"} ) return _makeJsonResponse( {"personas" : personaDicts} )