sh icon indicating copy to clipboard operation
sh copied to clipboard

Cannot override boolean baked arguments

Open luigig44 opened this issue 9 months ago • 1 comments

According to .bake() docs

special keyword arguments can be temporary baked and additionally be overridden in call or in subsequent bakes (basically setting defaults)

However, when using boolean keyword arguments this happens:

>>> from sh import ls
>>> ls(a=True) # for reference
'.  ..  Makefile  requirements.txt  source\n'
>>> ls.bake(a=False)(a=True) # works as expected, later one prevails
'.  ..  Makefile  requirements.txt  source\n'
>>> ls(a=False) # for reference
'Makefile  requirements.txt  source\n'
>>> ls.bake(a=True)(a=False) # True prevails, but should have been overriden
'.  ..  Makefile  requirements.txt  source\n'

luigig44 avatar Mar 25 '25 04:03 luigig44

Interesting, confirmed. Thanks for reporting.

amoffat avatar Mar 25 '25 06:03 amoffat