def get(self, auth_token=None, bucket_name=None, item_name=None): method = self.request.get('method') if method == 'post': self.post(auth_token, bucket_name, item_name) return if method == 'delete': self.delete(auth_token, bucket_name, item_name) return jsonp = self.request.get('jsoncallback') user_id, secret = decode_auth(auth_token) bucket_name = urllib.unquote(bucket_name.encode('ascii')).decode('utf-8') bucket = Bucket.get_by_key_name(bucket_name, parent=db.Key.from_path('User', user_id)) if not bucket: return if not bucket.is_public and bucket.secret != secret: return if not item_name: query = Item.all().ancestor(bucket) items = [ item.to_dict() for item in query ] json = demjson.encode(items) if jsonp: json = "%s(%s)" % (jsonp, json) self.response.out.write(json) else: item_name = urllib.unquote(item_name.encode('ascii')).decode('utf-8') item = Item.get_by_key_name(item_name, parent=bucket) if not item: return self.response.out.write( item.to_json(jsonp) )
def get(self, auth_token=None, bucket_name=None, item_name=None): method = self.request.get('method') if method == 'post': self.post(auth_token, bucket_name, item_name) return if method == 'delete': self.delete(auth_token, bucket_name, item_name) return jsonp = self.request.get('jsoncallback') user_id, secret = decode_auth(auth_token) bucket_name = urllib.unquote( bucket_name.encode('ascii')).decode('utf-8') bucket = Bucket.get_by_key_name(bucket_name, parent=db.Key.from_path( 'User', user_id)) if not bucket: return if not bucket.is_public and bucket.secret != secret: return if not item_name: query = Item.all().ancestor(bucket) items = [item.to_dict() for item in query] json = demjson.encode(items) if jsonp: json = "%s(%s)" % (jsonp, json) self.response.out.write(json) else: item_name = urllib.unquote( item_name.encode('ascii')).decode('utf-8') item = Item.get_by_key_name(item_name, parent=bucket) if not item: return self.response.out.write(item.to_json(jsonp))