[CRIU] [PATCH 4/6] crit: add --format hex option
Ruslan Kuprieiev
kupruser at gmail.com
Mon Jan 19 05:13:34 PST 2015
On 01/19/2015 02:33 PM, Pavel Emelyanov wrote:
> On 01/16/2015 11:55 PM, Ruslan Kuprieiev wrote:
>> hex option could be combined with other options(i.e. --format nice hex).
>>
>> Signed-off-by: Ruslan Kuprieiev <kupruser at gmail.com>
>> ---
>> crit | 14 +++++++++-----
>> pycriu/images/images.py | 24 ++++++++++++------------
>> pycriu/images/pb2dict.py | 29 ++++++++++++++++++++++-------
>> 3 files changed, 43 insertions(+), 24 deletions(-)
>>
>> diff --git a/crit b/crit
>> index e5d9b08..0b1671c 100755
>> --- a/crit
>> +++ b/crit
>> @@ -7,7 +7,7 @@ import pycriu
>>
>> def handle_cmdline_opts():
>> desc = 'CRiu Image Tool'
>> - parser = argparse.ArgumentParser(description=desc)
>> + parser = argparse.ArgumentParser(description=desc, formatter_class=argparse.RawTextHelpFormatter)
>> parser.add_argument('command',
>> choices = ['decode', 'encode'],
>> help = 'decode/encode - convert criu image from/to binary type to/from json')
>> @@ -19,8 +19,12 @@ def handle_cmdline_opts():
>> help = 'output file (stdout by default)')
>> parser.add_argument('-f',
>> '--format',
>> - choices = ['raw', 'nice'],
>> - help = 'well-formated output (by default: raw for files and nice for stdout)')
>> + choices = ['raw', 'nice', 'hex'],
>> + nargs = '+',
>> + default = [],
>> + help = 'raw - all in one line\n'\
>> + 'nice - add indents and newlines to look nice(default for stdout)\n'\
>> + 'hex - print int fields as hex strings where suitable(could be combined with others)')
>>
> The usage for -f becomes
>
> crit -f raw hex
>
> This is somehow non-standard as the "hex" becomes dangling option. More typical is to
> combine several choices for one option with commas, like
>
> crit -f raw,hex
>
> Can it be done like that?
I have no idea how to accomplish that with argparse, other then by
adding type=str and spliting
that string by comma. Argparse by it self doesn't seem to support that.
In examples it uses only spaces
to separate multiple arguments. I didn't even see commas used to combine
arguments in cmdline.
More information about the CRIU
mailing list