invoke: change process_opt behaviour to omit all bool(...) == False options, including empty strings (fixes mount --options use)
authorTero Marttila <terom@paivola.fi>
Fri, 02 Mar 2012 14:41:19 +0200
changeset 27 689407a261c3
parent 26 e00aa458a81b
child 28 82bcde9e21c4
invoke: change process_opt behaviour to omit all bool(...) == False options, including empty strings (fixes mount --options use)
pvl/backup/invoke.py
--- a/pvl/backup/invoke.py	Tue Feb 21 16:29:12 2012 +0200
+++ b/pvl/backup/invoke.py	Fri Mar 02 14:41:19 2012 +0200
@@ -51,8 +51,6 @@
 
         >>> process_opt('foo', True)
         ('--foo',)
-        >>> process_opt('foo', False)
-        ()
         >>> process_opt('foo', 2)
         ('--foo', '2')
         >>> process_opt('foo', 'bar')
@@ -60,9 +58,13 @@
         >>> process_opt('foo_bar', 'asdf')
         ('--foo-bar', 'asdf')
 
-        # XXX: weird?
+        # empty
+        >>> process_opt('foo', False)
+        ()
+        >>> process_opt('foo', None)
+        ()
         >>> process_opt('bar', '')
-        ('--bar', '')
+        ()
 
         Returns a tuple of argv items.
     """
@@ -74,7 +76,7 @@
         # flag opt
         return (opt, )
 
-    elif value is False or value is None:
+    elif not value :
         # flag opt / omit
         return ( )