Commit Graph

5103 Commits

Author SHA1 Message Date
bastimeyer 870fda060d cli: update progress output after stream has ended 2024-03-12 19:56:46 +01:00
bastimeyer 7f33bc0a8f docs: fix 6.7.0 changelog 2024-03-10 20:17:21 +01:00
bastimeyer 063be77c20 tools: bump ruff to 0.3.2 2024-03-10 20:17:13 +01:00
bastimeyer 28c03834fc release: 6.7.0 2024-03-09 13:27:56 +01:00
bastimeyer 21dc431fb6 docs: move up removal badges on deprecations page 2024-03-09 13:22:55 +01:00
bastimeyer 7bc71a39f4 plugins.ustvnow: update matcher, reformat code 2024-03-09 13:02:27 +01:00
bastimeyer 70d5d4a108 cli: add --plugin-dir, deprecate --plugin-dirs 2024-03-08 17:25:58 +01:00
bastimeyer a37bb0b231 tools: bump ruff to 0.3.1 and fix issues 2024-03-08 17:20:23 +01:00
bastimeyer 1e5c808898 tests: remove unneeded dateutil warning filter 2024-03-06 10:49:18 +01:00
bastimeyer 0a63b33c98 session: fix default options being shared 2024-03-03 00:35:37 +01:00
streamlinkbot 216aaf0ce1 plugin.api: update useragents 2024-02-29 16:22:58 -08:00
bastimeyer d55eb2792b tools: bump ruff to 0.3.0 and fix issues 2024-02-29 18:19:00 +01:00
bastimeyer 247c6cfa11 plugins.bloomberg: refactor and fix data regex 2024-02-28 04:24:26 +01:00
bastimeyer e077e2fccd tests: rewrite CLI print tests 2024-02-27 16:30:28 +01:00
bastimeyer e674362932 tests: rewrite CLI logging tests 2024-02-27 16:30:28 +01:00
bastimeyer 68484b29d2 cli: split up main() into setup() and run() 2024-02-27 16:30:28 +01:00
bastimeyer e7614f8623 cli: only log args with the same dest once 2024-02-25 20:35:31 +01:00
bastimeyer 398610c797 plugins.mangomolo: new plugin 2024-02-25 09:28:42 +01:00
bastimeyer de981a4a64 stream.hls: fix maps with and without keys
Add the `key` attribute to the `Map` class, so segment maps can be
encrypted independently or left as plain text, depending on the order
of the `EXT-X-MAP` and `EXT-X-KEY` tags in the playlist.

TODO:
Rewrite the `HLSSegment`, `HLSStreamWriter` and `HLSStreamWorker`
classes based on the logic of the DASH implementation, where
init segments are queued by the worker separately.
2024-02-25 09:27:49 +01:00
bastimeyer ef25765c8d plugins.ltv_lsm_lv: fix plugin, rm LTVHLSStream
- Fix embedded player iframe validation schema
- Update pluginmatcher
- Remove unneeded HLSStream subclass
2024-02-24 11:50:59 +01:00
bastimeyer f205f541ed plugins.vimeo: fix missing HLS/DASH API results 2024-02-22 21:10:34 +01:00
bastimeyer 57dacf7bc9 release: 6.6.2 2024-02-20 19:38:01 +01:00
Lee Taehoon 881eedc11f
plugins.afreeca: support metadata 2024-02-20 17:31:41 +01:00
bastimeyer 6194365a73 plugins.hiplayer: remove mediagovkw matcher 2024-02-20 16:10:00 +01:00
Lee Taehoon 8a29117694
plugins.afreeca: fix broadcast number regex 2024-02-20 16:04:38 +01:00
bastimeyer 73db061c1d session: fix missing plugin override log message 2024-02-20 07:56:45 +01:00
bastimeyer 61cec0e88e build: bump setuptools to >=65.6 2024-02-19 18:29:57 +01:00
bastimeyer 8295cd2978 tools: bump ruff to 0.2.2 and fix issues 2024-02-18 14:44:58 +01:00
bastimeyer 7765408caf release: 6.6.1 2024-02-17 15:37:04 +01:00
bastimeyer f39eb13b8c docs: skip groups with only suppressed actions 2024-02-17 15:28:46 +01:00
bastimeyer bf4ff71003 session: add plugins args from JSON in reverse 2024-02-17 15:28:46 +01:00
bastimeyer 5e0e38afc2 options: fix object identity of argparse.SUPPRESS 2024-02-17 15:28:46 +01:00
bastimeyer ceb73202ed release: 6.6.0 2024-02-16 19:20:52 +01:00
blluv a3a9b7681f
stream.hls: add hlsstream kwarg to MuxedHLSStream 2024-02-16 19:12:18 +01:00
bastimeyer fddc2bbd51 ci.github: bump setup-python action to v5
789e89a already bumped the setup-python actions on the master branch,
but the `test_build` job was merged in a later commit (authored earlier)
with the old action version in use.
2024-02-14 22:05:21 +01:00
bastimeyer 9273253534 tools: bump ruff to 0.2.1 and fix issues 2024-02-14 21:58:02 +01:00
bastimeyer db7c3e57cb options: fix Argument typing information
Replace `typing.Sequence` with `list | tuple`
2024-02-14 21:57:53 +01:00
bastimeyer 15da679ddd cli: ignore coverage in _parser util module 2024-02-14 13:54:18 +01:00
bastimeyer 6a551f6b3c session: implement lazy plugins loading
- Add `plugins_lazy` keyword to `Streamlink` session class
- Load pre-built plugins JSON data including matchers and arguments data
- Fall back to loading all built-in plugins if loading JSON data fails
- Iterate matcher/argument data of loaded and still unloaded plugins
- Load plugin modules of unloaded plugins when matching URLs are found
- Refactor `utils.modules` and add `get_finder()` function
- Change `--plugins` output from "Loaded plugins" to "Available plugins"
- Add tests
- Move matcher priority tests from `test_session` to `test_plugins`
2024-02-14 13:30:16 +01:00
bastimeyer ebb49d39e0 ci.github: add test_build job 2024-02-14 13:26:18 +01:00
bastimeyer 115c2ed486 build: build and include plugins JSON in wheels 2024-02-14 13:26:18 +01:00
bastimeyer 7462ad5cf1 build: implement plugins_json.py script 2024-02-14 13:26:18 +01:00
bastimeyer 98f2daec9d plugins.nowtvtr: new plugin
This plugin replaces the removed foxtr plugin
2024-02-13 14:54:17 +01:00
bastimeyer 762933a9f0 plugins.foxtr: remove plugin 2024-02-13 14:54:17 +01:00
bastimeyer 6cb3c023ab docs: fix scrollbars in sidebars 2024-02-12 14:03:18 +01:00
bastimeyer eb901bbc9e options: compare equality of Arguments objects
ac45740
2024-02-11 14:32:45 +01:00
bastimeyer 0acbca3af1 docs: fix custom ext_argparse Sphinx extension
- Move the `parser_helper()` function from `streamlink_cli.main`
  into the `streamlink_cli._parser` module
- Refactor `ext_argparse` and set default import paths
- Update import path in `build-shell-completions.sh`

Unfortunately, the `streamlink_cli._parser` module can't be excluded
from the sdist/wheel distributions, as packagers might build
shell completions from the installed `streamlink_cli` package
instead of using the pre-built shell completions included in the sdist
or building them from an editable install.
2024-02-09 01:38:39 +01:00
bastimeyer f2b16ede21 docs: Streamlink.{get,load}_plugins() deprecation 2024-02-09 00:47:07 +01:00
bastimeyer e9760e8423 docs: HTTPSession and HTTPAdapters deprecation 2024-02-09 00:47:07 +01:00
bastimeyer c2f0626100 session: move plugin load/resolve logic
- Move plugin load/resolve logic into the `streamlink.session.plugins`
  module with the `StreamlinkPlugins` class
- Make `Streamlink.plugins` an instance of this class
- Add the `plugins_builtin` keyword argument to the `Streamlink` class
  and set its default value to `True`
- Deprecate the `Streamlink.{{get,load}_plugins,load_builtin_plugins}()`
  methods, which are now wrappers for the respective `StreamlinkPlugins`
  implementations
- Update `streamlink_cli.main` and all other `Streamlink` session
  usages accordingly (in scripts and tests)
- Update session docs
- Move and update plugin load/resolve tests
2024-02-08 09:28:22 +01:00