def get_json_state(self, input_capacities, output_capacities):
    "\n        Gets a json-encoded description of the simulation's state. \n        As of now, it takes output and input capacities as arguments because the JSON state\n        is described through relative values. (For instance, first output at 0.3 capacity).\n        \n        @param input_capacities An array containing the maximum capacities of the input.\n        @param output_capacities An array containing the maximum capacities of the output.\n        "
    if (len(self.inputs) != len(input_capacities)):
        return '{}'
    inputs = []
    for (inp, cap) in zip(self.inputs, input_capacities):
        inputs.append(((1.0 * inp) / cap))
    outputs = []
    for (inp, cap) in zip(self.outputs, output_capacities):
        outputs.append(((1.0 * inp) / cap))
    state = {'water': self.get_water_level(), 'inputs': inputs, 'outputs': outputs}
    temperatures = [0, 0]
    temperatures[0] = self.firstPumpTemperature
    temperatures[1] = self.secondPumpTemperature
    state['temperatures'] = temperatures
    return json.dumps(state)
Gets a json-encoded description of the simulation's state. 
As of now, it takes output and input capacities as arguments because the JSON state
is described through relative values. (For instance, first output at 0.3 capacity).

@param input_capacities An array containing the maximum capacities of the input.
@param output_capacities An array containing the maximum capacities of the output.
def get_json_state(self, input_capacities, output_capacities):
    "\n        Gets a json-encoded description of the simulation's state. \n        As of now, it takes output and input capacities as arguments because the JSON state\n        is described through relative values. (For instance, first output at 0.3 capacity).\n        \n        @param input_capacities An array containing the maximum capacities of the input.\n        @param output_capacities An array containing the maximum capacities of the output.\n        "
    if (len(self.inputs) != len(input_capacities)):
        return '{}'
    inputs = []
    for (inp, cap) in zip(self.inputs, input_capacities):
        inputs.append(((1.0 * inp) / cap))
    outputs = []
    for (inp, cap) in zip(self.outputs, output_capacities):
        outputs.append(((1.0 * inp) / cap))
    state = {'water': self.get_water_level(), 'inputs': inputs, 'outputs': outputs}
    temperatures = [0, 0]
    temperatures[0] = self.firstPumpTemperature
    temperatures[1] = self.secondPumpTemperature
    state['temperatures'] = temperatures
    return json.dumps(state)