[libvirt] [PATCH v4 5/8] screenshot: Expose the new API in virsh

Michal Prívozník mprivozn at redhat.com
Mon May 16 12:11:15 UTC 2011


On 16.05.2011 10:56, Daniel P. Berrange wrote:
> On Fri, May 13, 2011 at 05:18:27PM -0600, Eric Blake wrote:
>> On 05/13/2011 03:16 AM, Daniel P. Berrange wrote:
>>> On Thu, May 12, 2011 at 06:29:12PM +0200, Michal Privoznik wrote:
>>>> +static const vshCmdOptDef opts_screenshot[] = {
>>>> +    {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")},
>>>> +    {"file", VSH_OT_DATA, VSH_OFLAG_REQ, N_("where to store the screenshot")},
>>>> +    {"screen", VSH_OT_INT, 0, N_("ID of a screen to take screenshot of")},
>>>> +    {NULL, 0, 0, NULL}
>>>> +};
>>>> +
>>
>>> I think it would be better if 'screenID' was a flag instead of a
>>> positional parameter, eg
>>>
>>>       screenshot --screen 1 myguest imagefile.png
>>
>> But virsh _already_ handles all named arguments in any order.  That is,
>>
>> screenshot --screen 1 myguest imagefile.png
>> screenshot myguest imagefile.png 1
>>
>> are identical, at least with the above opts_screenshot (thanks to commit
>> b9973f5).
> 
> I don't see how that could work, if you want to make filename
> optional. Since if you have
> 
>    screenshot myguest 1
This is now understand as: take screenshot of myguest, screenID=0 (by
default) and store it into file named '1'.

Running 'screenshot --screen 1 f14' would produce an error: <file>
required. I agree not to make arguments positional, and basically
screenID is not. It is an added value that it can be specified as 3rd
argument.

If we make --file optional (and generate it), this will still work as
expected: 'screenshot --screen 1 f14' would not produce any error but
file instead. Moreover, screenshot f14 would take screenshot of
screenID=0 and store it into file with generated file.
> 
> it can't determine whether '1' is a screen number or filename. Thus
> we have to use --screen for this
> 
> Daniel

Michal




More information about the libvir-list mailing list