Example #1
0
    def test_cpickle_serializer(self):

        v = 'string'
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = u'unicode'
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = (1, 2, 3)
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = [1, 2, 3]
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = {'a': 1, 'b': 2, 'c': 3}
        self.assertEqual(cps.loads(cps.dumps(v)), v)
Example #2
0
    def test_cpickle_serializer(self):
        
        v = 'string'
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = u'unicode'
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = (1,2,3)
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = [1,2,3]
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = {'a':1, 'b':2, 'c':3}
        self.assertEqual(cps.loads(cps.dumps(v)), v)
Example #3
0
    def test_cpickle_serializer(self):
        
        from kvlite.serializers import cPickleSerializer as cps

        v = 'string'
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = u'unicode'
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = (1,2,3)
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = [1,2,3]
        self.assertEqual(cps.loads(cps.dumps(v)), v)

        v = {'a':1, 'b':2, 'c':3}
        self.assertEqual(cps.loads(cps.dumps(v)), v)
Example #4
0
 def prepare_kv(self, k, v, backend='sqlite'):
     ''' prepare key/value pair before insert to database
     
     backend can be 'mysql' or 'sqlite'
     '''
     
     k = self.prepare_key(k)
     if k == self._ZEROS_KEY:
         v = cPickleSerializer.dumps(v)
     else:
         v = self._serializer.dumps(v)
     
     if backend == 'sqlite':
         return (k,v) 
     elif backend == 'mysql':
         return (binascii.a2b_hex(k), v, v)
     else:
         raise RuntimeError('Uknown backend: %s' % backend)
Example #5
0
    def prepare_kv(self, k, v, backend='sqlite'):
        ''' prepare key/value pair before insert to database
        
        backend can be 'mysql' or 'sqlite'
        '''

        k = self.prepare_key(k)
        if k == self._ZEROS_KEY:
            v = cPickleSerializer.dumps(v)
        else:
            v = self._serializer.dumps(v)

        if backend == 'sqlite':
            return (k, v)
        elif backend == 'mysql':
            return (binascii.a2b_hex(k), v, v)
        else:
            raise RuntimeError('Uknown backend: %s' % backend)