Improve option handling for plugins. This PR tries:
Remove the limits in what data you can pass to options, due to the restriction imposed by the allowed characters in the query part of an URL. This currently poses a strong limits what data you can pass as an option.
Make it more convenient to pass options to plugins.
Improve documentation of plugins and their options.
Tasks:
[x] Implement URL-encoding/decoding in C
[x] Make URL-encoding/decoding accessele to Python
[x] Let dlite_option_parse() transparently URL-decode the option string
[x] Let Options Python class transparently URL-decode the option string
[ ] Add Python API for creating an option string from a dict that transparently URL-encode the values
[ ] Add C API for generating docstring from option description
[ ] Add Python API for option description (similar to DLiteOpt in C).
[ ] Add Python API for generating docstring from option description
Type of change
[x] Bug fix & code cleanup
[x] New feature
[ ] Documentation update
[ ] Test update
Checklist for the reviewer
This checklist should be used as a help for the reviewer.
[ ] Is the change limited to one issue?
[ ] Does this PR close the issue?
[ ] Is the code easy to read and understand?
[ ] Do all new feature have an accompanying new test?
[ ] Has the documentation been updated as necessary?
Description
Improve option handling for plugins. This PR tries:
Tasks:
dlite_option_parse()
transparently URL-decode the option stringOptions
Python class transparently URL-decode the option stringDLiteOpt
in C).Type of change
Checklist for the reviewer
This checklist should be used as a help for the reviewer.