def json(self, data): if isinstance(data, GeneratorType): out = ''.join([r for r in self.genstreamer(data)]) return out thunker = JSONThunker() data = thunker.thunk(data) return JsonWrapper.dumps(data)
def json(self, data): if isinstance(data, GeneratorType): out = ''.join([r for r in self.genstreamer(data)]) return out thunker = JSONThunker() data = thunker.thunk(data) return json.dumps(data)
class testThunking(unittest.TestCase): """ Direct tests of thunking standard python type """ def setUp(self): self.thunker = JSONThunker() def roundTrip(self, data): encoded = self.thunker.thunk(data) decoded = self.thunker.unthunk(encoded) self.assertEqual( data, decoded ) @runboth def testStr(self): self.roundTrip('hello') @runboth def testList(self): self.roundTrip([123, 456]) @runboth def testDict(self): self.roundTrip({'abc':123, 'def':456}) self.roundTrip({'abc':123, 456:'def'}) @runboth def testSet(self): self.roundTrip(set([])) self.roundTrip(set([123, 'abc']))
class testJSONThunker(unittest.TestCase): """ Direct tests of thunking standard python type """ def setUp(self): self.thunker = JSONThunker() def roundTrip(self, data): encoded = self.thunker.thunk(data) decoded = self.thunker.unthunk(encoded) self.assertEqual(data, decoded) def testStr(self): self.roundTrip('hello') def testList(self): self.roundTrip([123, 456]) def testDict(self): self.roundTrip({'abc': 123, 'def': 456}) self.roundTrip({'abc': 123, 456: 'def'}) def testSet(self): self.roundTrip(set([])) self.roundTrip(set([123, 'abc']))
def encode(self, data): """ encode data as json """ encoder = JSONEncoder() thunker = JSONThunker() thunked = thunker.thunk(data) return encoder.encode(thunked)
def wrapper(self, data, expires, contentType="application/json+thunk"): data = func(self, data) try: thunker = JSONThunker() data = thunker.thunk(data) jsondata = json.dumps(data) _setCherryPyHeaders(jsondata, contentType, expires) return jsondata except Exception: raise
def json(self, data): thunker = JSONThunker() data = thunker.thunk(data) return JsonWrapper.dumps(data)