Commit Graph

5061 Commits

Author SHA1 Message Date
bastimeyer fd49f2ce1e plugins.vimeo: fix event and player URLs 2024-03-18 17:24:59 +01:00
bastimeyer 90fe9e4215 plugins.twitch: update CI-token error handling 2024-03-18 00:04:35 +01:00
bastimeyer 1a7295b110 webbrowser: fix compatibility with trio 0.25
- Set min. version requirement of `trio` to `0.25`,
  so we don't have to set `strict_exception_groups` to `True` on older
  versions (probably not even possible via `pytest-trio`)
- Fix compatibility with `trio>=0.25`:
  Since `strict_exception_groups` now defaults to `True`, trio nurseries
  now always raise an `ExceptionGroup` in all cases, so update tests
  and handle exception groups instead. Don't unwrap exception groups
  for now, even if only a single exception is included.
  Explicitly handle `KeyboardInterrupt`/`SystemExit` and re-raise
  by using the `exceptiongroup.catch` utility (<py311 compat)
2024-03-18 00:04:35 +01:00
bastimeyer af4c69188a build: add exceptiongroup dependency
Add the `exceptiongroup` dependency directly to Streamlink, so we
can write `ExceptionGroup` handling code on all supported versions
of Python without having to rely on `trio`'s conditional dependency.
2024-03-18 00:04:35 +01:00
bastimeyer 764beeca4f build: set trio dependency to <0.25 for now 2024-03-17 11:11:55 +01:00
bastimeyer cadd180b7f plugins.tv3cat: rewrite plugin, add missing VODs 2024-03-15 21:03:45 +01:00
Alexis Murzeau 251fe08f8d
tests: reset root logger level in test teardown 2024-03-13 00:43:23 +01:00
bastimeyer 6bbbb8e40b tests: refactor CLI progress tests 2024-03-12 19:56:46 +01:00
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