plugins.mitele: fix and refactor plugin #4760
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #4726
This refactors the plugin (mainly code style and validation schema refinements) and fixes the "Forbidden token format" issue.
The problem was how the query string with the HMAC was applied to the stream URL. Both parts are retrieved from different API calls and instead of concatenating the parts like
{url}?{querystring}
, the query string was parsed and the URL updated with the parsed query string dictionary. While updating the URL, Python automatically quotes/percent-encodes query string values, which broke the token format, hence the addedquote_via=lambda string, *_, **__: string
keyword toupdate_qsd()
which simply passes through the value.As an additional note, it's probably unnecessary to yield this many streams with duplicate names, but since it's from different CDNs, I don't want to change this. Very much related to #4758 (comment)
Non-Spanish IP address (geo-blocked):
Spanish IP address: