Inverse conditions do not match documentation
Closed this issue · 3 comments
I have a group of incomplete items that I'm using to test tag filtering.
All incomplete items have been tagged with testtag.
rtcontrol is_complete=no tagged=\!'testtag' -o tagged,name -q
works and no results are returned (as expected).
rtcontrol is_complete=no tagged!='testtag' -o tagged,name -q
returns all incomplete items including testtag items.
rtcontrol is_complete=no 'tagged!=testtag' -o tagged,name -q
returns all incomplete items including testtag items.
The last two are puzzling because I thought when multiple filters are used it defaults to AND but it's behaving as if it's OR.
rtcontrol tagged=""
doesn't appear to work as documented but rtcontrol tagged=\"\"
does.
tagged=\!'testtag'
was working for you unintentionally, it checks for the literal tag !testtag
, which naturally doesn't exist. tagged!='testtag'
and 'tagged!=testtag'
are parsed to the same thing, which should work as expected now.
The docs have been updated with properly escaped values, thanks.
Looking good now, but I think you may have left some debug code turned on. Any queries using tagged as a filter results in seeing a True or False at the beginning of the output even with a -q
switch.
Shoot, thanks for pointing that out. Fixed in 9aeaf7f.