mqttwarn
mqttwarn copied to clipboard
Suggested patch for a shorthand definition of quoted fields in http_urllib
When working with a greater number of transformed fields (e. g. through topic's alldata), the params definition for the target has a lot of redundancy, especially when the field names are crafted to be the parameter names of the query parameters:
This patch provides a shorthand for a definition like
[ #method, #url, { 'param1' : '@param1', ..., 'paramN': '@paramN' }, ...
by allowing lists for the 3rd parameter of the target definition:
[ #method, #url, [ '?param1', ..., '?paramN' ], ...
If a list is provided
- the given names will be used as both keys do item.data{} and query parameter names
- they will be added as quoted fields, regardless of whether the @-prefix is provided:
[ 'param1', ..., 'paramN' ]will be interpreted as[ '@param1', ..., '@paramN' ] - with the prefix
?, fields can be declared optional: they will not be included in the query if the data is invalid or missing from item.data{};[ 'param1', '?param2', ... ]
Codecov Report
Attention: Patch coverage is 0% with 13 lines in your changes are missing coverage. Please review.
Project coverage is 49.60%. Comparing base (
9d61fc5) to head (675fbb0).
| Files | Patch % | Lines |
|---|---|---|
| mqttwarn/services/http_urllib.py | 0.00% | 13 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #693 +/- ##
==========================================
- Coverage 49.75% 49.60% -0.15%
==========================================
Files 81 81
Lines 4034 4046 +12
==========================================
Hits 2007 2007
- Misses 2027 2039 +12
| Flag | Coverage Δ | |
|---|---|---|
| unittests | 49.60% <0.00%> (-0.15%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Dear Olaf,
thanks for your contribution, I like it. While I don't have any objections about merging this improvement, I would like to have @jpmens and @sumnerboy12 the final voice on it.
With kind regards, Andreas.
I think this can be merged. However, would it be possible to come up with corresponding test cases so the new code and functionality will be covered properly?