コード例 #1
0
ファイル: Handler_Items.py プロジェクト: antiface/simplesto
	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) )
コード例 #2
0
ファイル: Handler_Items.py プロジェクト: antiface/simplesto
    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))