def pack(cls, data): from util.json import pydumps d = pydumps(data).encode("z") v = cls.__VERSION log.info("packing version %d of %s", v, cls.__name__) return pack("!I", v) + d
def test_serialization(self): values = [5, 'foo', u'bar', (), (1,), (1,2), [], [1], [1,2], set(), set('abc'), set((1,2,3)), set(((3,), (), '')), {}, {1:2}, {'a':1}, {'1': 1}, {4.3: ''}, 4.3, {'4.3':5}, {u'234':54}, {1:u'342'}, {1:'abc'}, {1:2,3:4,5:6}, {'foo': set((1,2.3,'3', (), (1,2)))}, frozenset('123'),None, {None:None}, {True:False},u'__str__foo', {u'__tuple__':u'foo'}, {u'__tuple__':'foo'}, {'__tuple__':u'foo'}, {'__tuple__':u'foo'}, ['__tuple__'],'__True__',u'__None__', ] for value in values + [values]: dataout = pyloads(pydumps(value)) self.assertEquals(value, dataout) self.assertEqual(type(value), type(dataout))
def backup_blobs(self, dir): pth = path(dir) from util.json import pydumps from time import time for name in ['profile', 'buddylist', 'notifications', 'prefs', 'statuses', 'icon']: if name == 'buddylist': data = self.blist.save_data() elif name == 'prefs': data = to_primitive(dictdiff(profile.defaultprefs, self.prefs)) elif name == 'defaultprefs': pass elif name == 'statuses': data = [s.__getstate__() for s in self.statuses] for s in data: s['format'] = dict(s['format']) else: data = to_primitive(getattr(self, name)) f = pth / name + '_' + str(int(time())) + '.blob' with f.open('wb') as out: if name == 'icon': out.write(data) else: out.write(pydumps(data).encode('z'))
def serialize_default(self, key, value, crypt_key=None): return self.encrypt(pydumps(value), crypt_key)
def test_serialization(self): values = [ 5, 'foo', u'bar', (), (1, ), (1, 2), [], [1], [1, 2], set(), set('abc'), set((1, 2, 3)), set(((3, ), (), '')), {}, { 1: 2 }, { 'a': 1 }, { '1': 1 }, { 4.3: '' }, 4.3, { '4.3': 5 }, { u'234': 54 }, { 1: u'342' }, { 1: 'abc' }, { 1: 2, 3: 4, 5: 6 }, { 'foo': set((1, 2.3, '3', (), (1, 2))) }, frozenset('123'), None, { None: None }, { True: False }, u'__str__foo', { u'__tuple__': u'foo' }, { u'__tuple__': 'foo' }, { '__tuple__': u'foo' }, { '__tuple__': u'foo' }, ['__tuple__'], '__True__', u'__None__', ] for value in values + [values]: dataout = pyloads(pydumps(value)) self.assertEquals(value, dataout) self.assertEqual(type(value), type(dataout))
def pack(cls, data): from util.json import pydumps d = pydumps(data).encode('z') v = cls.__VERSION log.info("packing version %d of %s", v, cls.__name__) return pack("!I", v) + d
def serialize_default(self, key, value, crypt_key = None): return self.encrypt(pydumps(value), crypt_key)