|
From: | John Snow |
Subject: | Re: [PATCH v2] scripts/qmp/qom-set: Allow setting integer value |
Date: | Sat, 3 Oct 2020 19:55:32 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
On 10/3/20 1:33 PM, Philippe Mathieu-Daudé wrote:
Hi Jonatan, On 10/2/20 10:52 PM, Jonatan Pålsson wrote:If the value appears to be an integer, parse it as such. This allows the following: qmp/qom-set -s ~/qmp.sock sensor.temperature 20000Maybe instead: Fix the following error: $ scripts/qmp/qom-set -s ~/qmp.sock sensor.temperature 20000 Traceback (most recent call last): File "scripts/qmp/qom-set", line 66, in <module> print(srv.command('qom-set', path=path, property=prop, value=value)) File "scripts/qmp/../../python/qemu/qmp.py", line 274, in command raise QMPResponseError(ret) qemu.qmp.QMPResponseError: Invalid parameter type for 'temperature', expected: integer
No, this is just relaying the error that QMP returned. QMP is telling you it doesn't want string data for this parameter. His diagnosis of the problem is accurate.
.. where sensor is a tmp105 device, and temperature is an integer property. Signed-off-by: Jonatan Pålsson <jonatan.p@gmail.com> --- scripts/qmp/qom-set | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/qmp/qom-set b/scripts/qmp/qom-set index 240a78187f..49eebe4924 100755 --- a/scripts/qmp/qom-set +++ b/scripts/qmp/qom-set @@ -56,7 +56,10 @@ if len(args) > 1: path, prop = args[0].rsplit('.', 1) except: usage_error("invalid format for path/property/value") - value = args[1] + try: + value = int(args[1])Maybe 'long' is safer?
This is a Python patch, what's a "long"?
+ except ValueError: + value = args[1] else: usage_error("not enough arguments")
[Prev in Thread] | Current Thread | [Next in Thread] |