Skip to content

options: deprecate global plugin arguments #5140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

bastimeyer
Copy link
Member

  • Raise StreamlinkDeprecationWarning when is_global=True
  • Remove all global plugin arguments and replace them with simple option lookups on the Streamlink session instance
  • Remove global argument detection in custom Sphinx plugins extension
  • Remove supported plugins list from custom Sphinx argparse extension and remove respective setup from setup_plugin_args in the CLI module
  • Add deprecation note to the docs
  • Update tests
    • Check whether builtin plugins define global plugin arguments
    • Capture deprecation warnings

This is partly cherry-picked from the (current state of the) first commit of #5033 where global plugin arguments get removed, and it instead deprecates the usage of global plugin arguments and just removes them from Streamlink's builtin plugins and the docs.

Very likely unnecessary, because I don't think global plugin arguments are used by third party plugin implementations, but just in case, deprecating them prior to publishing a release with a breaking change is probably a better idea.


Note that this will remove the "supported plugins" list from the description of the --mux-subtitles CLI argument. In a future change, more metadata could be added to the plugin modules which chould then be shown in the docs and man page (via the custom argparse extension). The --help text however won't be able to read plugin module metadata like this.

- Raise `StreamlinkDeprecationWarning` when `is_global=True`
- Remove all global plugin arguments and replace them with simple
  option lookups on the Streamlink session instance
- Remove global argument detection in custom Sphinx plugins extension
- Remove supported plugins list from custom Sphinx argparse extension
  and remove respective setup from `setup_plugin_args` in the CLI module
- Add deprecation note to the docs
- Update tests
  - Check whether builtin plugins define global plugin arguments
  - Capture deprecation warnings
@gravyboat gravyboat merged commit 0589750 into streamlink:master Feb 3, 2023
@bastimeyer bastimeyer deleted the options/deprecate-global-plugin-args branch February 3, 2023 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants