qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] scripts/qmp/qom-set: Allow setting integer value


From: Jonatan Palsson
Subject: Re: [PATCH] scripts/qmp/qom-set: Allow setting integer value
Date: Fri, 2 Oct 2020 22:36:07 +0200

On Fri, Oct 2, 2020 at 10:29 PM John Snow <jsnow@redhat.com> wrote:
>
> On 10/2/20 4:19 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
> >
> > .. 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..61920680eb 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])
> > +    except:
> > +        value = args[1]
>
> Please catch the ValueError explicitly.

Sure, I'll send a v2.

>
> >   else:
> >       usage_error("not enough arguments")
> >
> >
>
> What happens when you don't convert it to int specifically? Does
> something break? My understanding was that QOM received everything as a
> string anyway, and does its own parsing.

With the current implementation, I see this:

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]