Exemple #1
0
def readLine(sock):
    sb = ""
    while(True):
        b = sock.recv(1)
        if(b == b'\r'):
            c = sock.recv(1)
            if(c == b'\n'):
                break;
            sb += Decoder.decodeData(b)
            sb += Decoder.decodeData(c)
        else:
            sb += Decoder.decodeData(b)
    
    if(len(sb) == 0):
        raise PiedisException('It seems like server has closed the connection.')
    return sb
Exemple #2
0
def parseResponse(sock):
    b = sock.recv(1)
    if b == MINUS_BYTE:
        parseError(sock)
    elif b == ASTERISK_BYTE:
        return parseMultiBulkReply(sock)
    elif b == COLON_BYTE:
        return  parseInteger(sock)
    elif b == DOLLAR_BYTE:
        return parseBulkReply(sock)
    elif b == PLUS_BYTE:
        return parseStatusCodeReply(sock)
    else:
        raise ProtocolException("Unknown reply: " + Decoder.decodeData(b))
Exemple #3
0
 def aggregate(self, aggregate):
     self.params.append(Decoder.decodeData(RedisKeyword.AGGREGATE))
     self.params.append(Decoder.decodeData(aggregate));
     return self
Exemple #4
0
 def weights(self, *weights):
     self.params.append(Decoder.decodeData(RedisKeyword.WEIGHTS))
     for weight in weights:
         self.params.append(str(weight))
     return self