mqttwarn icon indicating copy to clipboard operation
mqttwarn copied to clipboard

Suggested patch for a shorthand definition of quoted fields in http_urllib

Open otdftr opened this issue 1 year ago • 3 comments

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', ... ]

otdftr avatar Feb 08 '24 16:02 otdftr

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.

codecov[bot] avatar Feb 08 '24 16:02 codecov[bot]

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.

amotl avatar Feb 14 '24 23:02 amotl

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?

amotl avatar May 08 '24 18:05 amotl