Ejemplo n.º 1
0
 def string(self, obj, stream):
     if obj is None:
         self.int16(-1, stream)
         return
     if not isinstance(obj, basestring):
         obj = str(obj)
     bytes = utf8_str(obj)
     size = len(bytes)
     self.int16(size, stream)
     stream.write(bytes)
Ejemplo n.º 2
0
 def send_cmd(self, conn, op, store_name, packed_key, extra):
     store_name = utf8_str(store_name)
     iolist = [
         chr(self.OP_CODE[op]),
         struct.pack(">h", len(store_name)),
         store_name,
         struct.pack(">i", len(packed_key)),
         packed_key,
     ] + extra
     send = False
     conn.send(iolist)
     send = True
     err_code = struct.unpack(">h", conn.receive(2))[0]
     if err_code == 0:
         return
     err_msg_len = struct.unpack(">h", conn.receive(2))[0]
     err_msg = conn.receive(err_msg_len)
     if err_code == 4:
         raise ObsoleteVersionError(err_msg)
     elif err_code == 8:
         raise InconsistentDataError(err_msg)
     else:
         raise ValueError("Unknown Voldemort error code %d: %s" % (err_code, err_msg))
Ejemplo n.º 3
0
 def to_bytes(self, s):
     return utf8_str(s)