def index_or_create(request): user = users.get_current_user() if not user: return HttpResponseForbidden( 'You are not authorized to perform this action') if request.method == 'GET': return HttpResponse(flatten_array_to_json(Item.all())) if request.method == 'POST': item = Item(None, None) item_dict = simplejson.loads(request.raw_post_data) for key in item_dict.keys(): setattr(item, key.encode('ascii'), item_dict[key]) item.put() return HttpResponse(flatten_obj_to_json(item)) if request.method == 'DELETE': request.method = 'POST' request.method = 'PUT' request.DELETE = request.POST del request._post items = Item.all() item_count = items.count() for item in Item.all(): item.delete() return HttpResponse('deleted ' + str(item_count) + ' records')
def index_or_create(request): if not is_authenticated(request): return HttpResponseForbidden('You are not authorized to perform this action') if request.method == 'GET': return HttpResponse( flatten_array_to_json( Item.all() ) ) if request.method == 'POST': item = Item(None, None) item_dict = simplejson.loads( request.raw_post_data ) for key in item_dict.keys(): setattr(item, key.encode('ascii'), item_dict[key]) item.put() return HttpResponse( flatten_obj_to_json(item) ) if request.method == 'DELETE': request.method = 'POST' request.method = 'PUT' request.DELETE = request.POST del request._post items = Item.all() item_count = items.count() for item in Item.all(): item.delete() return HttpResponse('deleted ' + str(item_count) + ' records')
import os import sys import logging from google.appengine.ext import db from django.core import serializers from django.utils import simplejson from items.models import Item item = Item(title='favorite books', body='my favorite books are ...') item.put() items = Item.all() data = serializers.serialize("json", items) objs = simplejson.loads(data) def flatten_obj(obj): new_obj = obj.copy() new_obj.update(new_obj['fields']) # add the key/value pairs that are in the fields value del new_obj['fields'] # remove the embeded 'fields' values since we copied them up a level return new_obj def flatten_objs(objs): new_objs = [] for obj in objs: new_objs.append( flatten_obj(obj) ) return new_objs def flatten_to_json(objs): s = serializers.serialize("json", objs) array = simplejson.loads(s)
import os import sys import logging from google.appengine.ext import db from django.core import serializers from django.utils import simplejson from items.models import Item item = Item(title='favorite books', body='my favorite books are ...') item.put() items = Item.all() data = serializers.serialize("json", items) objs = simplejson.loads(data) def flatten_obj(obj): new_obj = obj.copy() new_obj.update(new_obj['fields'] ) # add the key/value pairs that are in the fields value del new_obj[ 'fields'] # remove the embeded 'fields' values since we copied them up a level return new_obj def flatten_objs(objs): new_objs = [] for obj in objs: new_objs.append(flatten_obj(obj)) return new_objs