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 20000
Maybe 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 > > .. where sensor is a tmp105 device, and temperature is an integer > property. > > Signed-off-by: Jonatan Pålsson <jonata...@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? > + except ValueError: > + value = args[1] > else: > usage_error("not enough arguments") > >