def execute_command(conn, hashmap):
    command, params = redis_commands.parse(receive_data(conn))
    command_fn = redis_commands.find(command)
    hashmap, response = command_fn(conn, hashmap, *params)
    conn.sendall(response)
    print("--- Received command: %s" % command.upper())
    execute_command(conn, hashmap)
 def test_parse_set_command(self):
     received_data = "*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$1\r\n'Hello'\r\n"
     command, params = redis_commands.parse(received_data)
     self.assertEquals(command, "set")
     self.assertEquals(params, ("key", "Hello"))
def execute_command(conn, hashmap):
    command, params = redis_commands.parse(receive_data(conn))
    command_fn = redis_commands.find(command)
    hashmap, response = command_fn(conn, hashmap, *params)
    conn.sendall(response)
    execute_command(conn, hashmap)