|Assignee:||Pavel Kácha||% Done:|
|Category:||Development - Core|
It seems that it would be useful to have unique argument for tag and set actions, because they could set the message key only in case it does not already exist within given list.
Implemented support for conditional value overwriting and uniqueness.
The jpath_set() method now optionally enables user to specify, whether already existing value should be overwritten or not, and whether value should be unique or not. The uniqueness option works only for lists at the end of JPath. (Redmine issues: #3392, #3361 and #1017, enables #3372 and #3396)
#1 Updated by Jan Mach almost 2 years ago
- Status changed from In Progress to Resolved
- Assignee changed from Jan Mach to Pavel Kácha
This should now be resolved and working on current implementation of filtering grammar. Filtering actions set and tag now have optional argument 'unique’, which enables appending values into target list only in case they are unique. Obviously this works only for lists and those lists must be at the end of JPath (uniqueness is checked using Python`s in operator). Uniqueness for any JPath would require prior jpath_values() call, which would slow execution. However this extended behavior is possible, for a price.
Examples can currently be found only in source code of following modules and unit tests: