invoke: change process_opt behaviour to omit all bool(...) == False options, including empty strings (fixes mount --options use)
--- 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 ( )