Eric Blake
2019-Sep-12  19:33 UTC
[Libguestfs] [libnbd PATCH] nbdsh: Support -u as synonym for --connect
Typing nbdsh --con (the minimum to get an unambiguous prefix for
--connect, different from --command) is annoying compared to having a
short option.  Since it takes a URI as an argument, using -u seems
like a reasonable mnemonic.
---
 sh/nbdsh.pod       | 6 ++++--
 python/nbdsh.py    | 2 +-
 sh/test-context.sh | 8 ++++----
 sh/test-pattern.sh | 2 +-
 4 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/sh/nbdsh.pod b/sh/nbdsh.pod
index 6c540c7..b1a3552 100644
--- a/sh/nbdsh.pod
+++ b/sh/nbdsh.pod
@@ -32,11 +32,11 @@ For documentation about the libnbd API please open the shell
and type:
 =head2 Print the size of an NBD export
-The I<--connect> option connects to an NBD URI.  The I<-c> option
lets
+The I<-u> option connects to an NBD URI.  The I<-c> option lets
 you execute single Python statements from the command line.  Combining
 these two options lets you print the size in bytes of an NBD export:
- $ nbdsh --connect nbd://localhost -c 'print (h.get_size ())'
+ $ nbdsh -u nbd://localhost -c 'print (h.get_size ())'
  1073741824
 =head2 Hexdump the boot sector of an NBD export
@@ -78,6 +78,8 @@ can be specified multiple times in order to run multiple
commands.
 Read standard input and execute it as a command.
+=item B<-u> URI
+
 =item B<--connect> URI
 Connect to the given L<NBD
URI|https://github.com/NetworkBlockDevice/nbd/blob/master/doc/uri.md>.
diff --git a/python/nbdsh.py b/python/nbdsh.py
index 00bc6bc..b15702c 100644
--- a/python/nbdsh.py
+++ b/python/nbdsh.py
@@ -29,7 +29,7 @@ def shell():
                                       epilog=epilog)
     parser.add_argument ('-b', '--base-allocation',
action='store_true',
                          help='request the "base:allocation" meta
context')
-    parser.add_argument ('--connect', metavar='URI',
+    parser.add_argument ('-u', '--connect',
metavar='URI',
                          help="connect to NBD URI")
     parser.add_argument ('-c', '--command',
action='append',
                          help="run a command")
diff --git a/sh/test-context.sh b/sh/test-context.sh
index 3b32ba9..f2c3ba5 100755
--- a/sh/test-context.sh
+++ b/sh/test-context.sh
@@ -21,7 +21,7 @@ fail=0
 # Without -b, no meta context is requested
 output=$(nbdkit -U - null --run 'nbdsh \
-    --connect "nbd+unix://?socket=$unixsocket" \
+    -u "nbd+unix://?socket=$unixsocket" \
     -c "print (h.can_meta_context
(nbd.CONTEXT_BASE_ALLOCATION))"')
 if test "x$output" != xFalse; then
     echo "$0: unexpected output: $output"
@@ -30,7 +30,7 @@ fi
 # With -b (and a server that supports it), meta context works.
 output=$(nbdkit -U - null --run 'nbdsh \
-    -b --connect "nbd+unix://?socket=$unixsocket" \
+    -b -u "nbd+unix://?socket=$unixsocket" \
     -c "print (h.can_meta_context
(nbd.CONTEXT_BASE_ALLOCATION))"')
 if test "x$output" != xTrue; then
     echo "$0: unexpected output: $output"
@@ -40,7 +40,7 @@ fi
 # Again, but with -b after -u, and with long option names
 output=$(nbdkit -U - null --run 'nbdsh \
     --connect "nbd+unix://?socket=$unixsocket" --base-allocation \
-    --command "print (h.can_meta_context
(nbd.CONTEXT_BASE_ALLOCATION))"')
+    -command "print (h.can_meta_context
(nbd.CONTEXT_BASE_ALLOCATION))"')
 if test "x$output" != xTrue; then
     echo "$0: unexpected output: $output"
     fail=1
@@ -49,7 +49,7 @@ fi
 if [[ $(nbdkit --help) =~ --no-sr ]]; then
     # meta context depends on server cooperation
     output=$(nbdkit -U - --no-sr null --run 'nbdsh \
-      --connect "nbd+unix://?socket=$unixsocket" --base-allocation \
+      -u "nbd+unix://?socket=$unixsocket" --base-allocation \
       -c "print (h.can_meta_context
(nbd.CONTEXT_BASE_ALLOCATION))"')
     if test "x$output" != xFalse; then
         echo "$0: unexpected output: $output"
diff --git a/sh/test-pattern.sh b/sh/test-pattern.sh
index 2d4e261..855bec7 100755
--- a/sh/test-pattern.sh
+++ b/sh/test-pattern.sh
@@ -36,7 +36,7 @@ if ! test -f "$pidfile"; then
     exit 1
 fi
-nbdsh --connect "nbd+unix://?socket=$sock" \
+nbdsh -u "nbd+unix://?socket=$sock" \
     -c '
 def size():
   return h.get_size()
-- 
2.21.0
Richard W.M. Jones
2019-Sep-12  19:36 UTC
Re: [Libguestfs] [libnbd PATCH] nbdsh: Support -u as synonym for --connect
On Thu, Sep 12, 2019 at 02:33:24PM -0500, Eric Blake wrote:> Typing nbdsh --con (the minimum to get an unambiguous prefix for > --connect, different from --command) is annoying compared to having a > short option. Since it takes a URI as an argument, using -u seems > like a reasonable mnemonic. > --- > sh/nbdsh.pod | 6 ++++-- > python/nbdsh.py | 2 +- > sh/test-context.sh | 8 ++++---- > sh/test-pattern.sh | 2 +- > 4 files changed, 10 insertions(+), 8 deletions(-) > > diff --git a/sh/nbdsh.pod b/sh/nbdsh.pod > index 6c540c7..b1a3552 100644 > --- a/sh/nbdsh.pod > +++ b/sh/nbdsh.pod > @@ -32,11 +32,11 @@ For documentation about the libnbd API please open the shell and type: > > =head2 Print the size of an NBD export > > -The I<--connect> option connects to an NBD URI. The I<-c> option lets > +The I<-u> option connects to an NBD URI. The I<-c> option lets > you execute single Python statements from the command line. Combining > these two options lets you print the size in bytes of an NBD export: > > - $ nbdsh --connect nbd://localhost -c 'print (h.get_size ())' > + $ nbdsh -u nbd://localhost -c 'print (h.get_size ())' > 1073741824 > > =head2 Hexdump the boot sector of an NBD export > @@ -78,6 +78,8 @@ can be specified multiple times in order to run multiple commands. > > Read standard input and execute it as a command. > > +=item B<-u> URI > + > =item B<--connect> URI > > Connect to the given L<NBD URI|https://github.com/NetworkBlockDevice/nbd/blob/master/doc/uri.md>. > diff --git a/python/nbdsh.py b/python/nbdsh.py > index 00bc6bc..b15702c 100644 > --- a/python/nbdsh.py > +++ b/python/nbdsh.py > @@ -29,7 +29,7 @@ def shell(): > epilog=epilog) > parser.add_argument ('-b', '--base-allocation', action='store_true', > help='request the "base:allocation" meta context') > - parser.add_argument ('--connect', metavar='URI', > + parser.add_argument ('-u', '--connect', metavar='URI', > help="connect to NBD URI") > parser.add_argument ('-c', '--command', action='append', > help="run a command") > diff --git a/sh/test-context.sh b/sh/test-context.sh > index 3b32ba9..f2c3ba5 100755 > --- a/sh/test-context.sh > +++ b/sh/test-context.sh > @@ -21,7 +21,7 @@ fail=0 > > # Without -b, no meta context is requested > output=$(nbdkit -U - null --run 'nbdsh \ > - --connect "nbd+unix://?socket=$unixsocket" \ > + -u "nbd+unix://?socket=$unixsocket" \ > -c "print (h.can_meta_context (nbd.CONTEXT_BASE_ALLOCATION))"') > if test "x$output" != xFalse; then > echo "$0: unexpected output: $output" > @@ -30,7 +30,7 @@ fi > > # With -b (and a server that supports it), meta context works. > output=$(nbdkit -U - null --run 'nbdsh \ > - -b --connect "nbd+unix://?socket=$unixsocket" \ > + -b -u "nbd+unix://?socket=$unixsocket" \ > -c "print (h.can_meta_context (nbd.CONTEXT_BASE_ALLOCATION))"') > if test "x$output" != xTrue; then > echo "$0: unexpected output: $output" > @@ -40,7 +40,7 @@ fi > # Again, but with -b after -u, and with long option names > output=$(nbdkit -U - null --run 'nbdsh \ > --connect "nbd+unix://?socket=$unixsocket" --base-allocation \ > - --command "print (h.can_meta_context (nbd.CONTEXT_BASE_ALLOCATION))"') > + -command "print (h.can_meta_context (nbd.CONTEXT_BASE_ALLOCATION))"') > if test "x$output" != xTrue; then > echo "$0: unexpected output: $output" > fail=1 > @@ -49,7 +49,7 @@ fi > if [[ $(nbdkit --help) =~ --no-sr ]]; then > # meta context depends on server cooperation > output=$(nbdkit -U - --no-sr null --run 'nbdsh \ > - --connect "nbd+unix://?socket=$unixsocket" --base-allocation \ > + -u "nbd+unix://?socket=$unixsocket" --base-allocation \ > -c "print (h.can_meta_context (nbd.CONTEXT_BASE_ALLOCATION))"') > if test "x$output" != xFalse; then > echo "$0: unexpected output: $output" > diff --git a/sh/test-pattern.sh b/sh/test-pattern.sh > index 2d4e261..855bec7 100755 > --- a/sh/test-pattern.sh > +++ b/sh/test-pattern.sh > @@ -36,7 +36,7 @@ if ! test -f "$pidfile"; then > exit 1 > fi > > -nbdsh --connect "nbd+unix://?socket=$sock" \ > +nbdsh -u "nbd+unix://?socket=$sock" \ > -c ' > def size(): > return h.get_size() > --ACK I wouldn't mind also hiding the --connect option and adding a --uri option. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW
Apparently Analagous Threads
- [libnbd PATCH] nbdsh: Add -b option to simplify h.block_status
- [libnbd PATCH v2] nbdsh: Prefer --uri over --connect
- [libnbd PATCH v2 0/3] Improve nbdsh -u handling
- [libnbd PATCH] nbdsh: Add --opt-mode command line option
- [libnbd PATCH] nbdsh: Start adding unit tests