Commit Graph

4562 Commits

Author SHA1 Message Date
bastimeyer 11de140658 tools: set xml indentation in .editorconfig 2023-02-24 01:30:47 +01:00
bastimeyer e6849137c2 stream.dash: fix SegmentTemplate's BaseURL context 2023-02-23 16:21:49 -08:00
bastimeyer 2a24f314f2 session: fix http-trust-env option 2023-02-23 22:26:38 +01:00
bastimeyer 77e67a7002 stream.dash: add basic typing to parser 2023-02-23 11:52:05 -08:00
bastimeyer 07bd742ddf stream.dash: fix missing initialization byterange 2023-02-22 15:51:27 -08:00
bastimeyer 65bb38e42e stream.dash: refactor and reformat code
- Fix incorrect typing
- Fix error messages, as well as docstrings and comments
- Fix indentation
- Replace str.format with f-strings
- Use consistent order of `MPDNode.attr()` call keywords,
  but keep the order of the method's arguments
- Use keywords when initializing the `Segment` dataclass
- Flatten nested if-blocks in `SegmentTemplate.format_media()`
- Remove unnecessary if-block in `Representation.segments()`
2023-02-23 00:33:54 +01:00
bastimeyer de42968bde tools: bump ruff to >=0.0.252 and ignore PLW2901 2023-02-22 21:46:35 +01:00
bastimeyer d33df662a4 stream.dash: turn Segment into dataclass
and rename `range` attribute to `byterange` (similar to HLS Segment)
2023-02-21 10:57:05 -08:00
bastimeyer fe6c0183f5 stream.dash: rename constants 2023-02-21 10:57:05 -08:00
bastimeyer 6597054331 stream.dash: fix def param in count_dt() generator 2023-02-21 10:57:05 -08:00
bastimeyer 9d813c5b69 stream.dash: replace isodate UTC with stdlib impl 2023-02-21 10:57:05 -08:00
bastimeyer 85ea235d13 chore: add "A" rules to ruff config 2023-02-20 14:10:06 -08:00
bastimeyer ba78ad2ec3 chore: add "PIE" rules to ruff config 2023-02-20 14:10:06 -08:00
bastimeyer 9cfe62d03c chore: add "PL{C,E,W}" rules to ruff config 2023-02-20 14:10:06 -08:00
bastimeyer 3aaee1f484 release: 5.3.0 2023-02-18 13:32:45 +01:00
bastimeyer 51b6ef6824 docs: use grid-cards for team-members 2023-02-18 10:51:54 +01:00
bastimeyer b1a580b4e2 docs: rewrite install page
- Add header grid-cards for quickly choosing the OS or PyPI package
- Rename "AppImages" section to "Linux AppImages"
- Greatly reduce noise in the "Windows binaries" and "Linux AppImages"
  sections by replacing texts and lists with grid-cards and tables,
  and remove "stable/nightly builds" sub-sections respectively
- Add SVG logos for Python and FFmpeg, obtained from original sources,
  with slight modifications and optimizations applied
- Move up "Dependencies" section by one level
- Rewrite some texts for better clarity and fix some grammar errors
- Upgrade font-awesome from 5 to 6
2023-02-17 19:59:33 -08:00
bastimeyer f5d2828a08 session: fix minor mistakes in options docstring 2023-02-17 19:17:34 +01:00
bastimeyer 74e0f7a99d session: fix http-query-params string delimiter 2023-02-17 09:54:35 -08:00
bastimeyer 94e14e6724 session: fix options docstring
- Fix default options
  - Reorder according to cli argparse mapping
  - Add missing defaults (except deprecated keys)
  - Fix incorrect defaults
- Fix set_option() docstring
  - Replace rst table with list-table from myst-parser extension
  - Reformat table and add key, type, default and description columns
  - Add all missing keys, including deprecated keys
  - Reorder keys according to default keys
  - Fix types and update descriptions
- Add docstring tests
2023-02-17 09:54:35 -08:00
bastimeyer 151a8d7dbc options: add some MutableMapping methods 2023-02-17 09:54:35 -08:00
bastimeyer 1d525705a0 tools: ignore PT refactor commits in git-blame 2023-02-16 11:58:40 +01:00
bastimeyer 6c2d710eda chore: fix PT009 ruff rule 2023-02-15 17:29:22 -08:00
bastimeyer cc7159611f chore: fix PT0{11,12,18} ruff rules 2023-02-15 17:29:22 -08:00
bastimeyer cb8c8df7d5 chore: fix PT004 ruff rule 2023-02-15 17:29:22 -08:00
bastimeyer 656ded9d6c chore: fix PT0{01,03,22,23} ruff rules 2023-02-15 17:29:22 -08:00
bastimeyer af081aa249 chore: add "PT" rules to ruff config 2023-02-15 17:29:22 -08:00
bastimeyer c3ff5a0090 tests: ignore setuptools 67.3.0 DeprecationWarning
Ignore new `pkg_resources.declare_namespace` DeprecationWarning
which was added in the setuptools 67.3.0 release.
2023-02-15 10:13:05 -08:00
bastimeyer 0696f48593 stream.ffmpegmux: refactor errorlog fd
- Change priority of --ffmpeg-verbose-path and --ffmpeg-verbose
- Remove unneeded subprocess.DEVNULL compatibility export
- Suppress OSError when closing fd of --ffmpeg-verbose-path
- Update tests
2023-02-15 10:12:27 -08:00
bastimeyer 498efd523c utils.named_pipe: fix fifo unlink race condition 2023-02-14 12:47:36 -08:00
bastimeyer 546386208c stream.ffmpegmux: fix copy-to-pipe race condition
Make sure that each substream's buffer always gets fully emptied
when closing the stream, so that no data is missing when muxing
the output stream.

TODO: properly refactor FFMPEGMuxer class with full test coverage
2023-02-14 12:47:36 -08:00
bastimeyer 76480b0dec stream.hls: fix parse_hex warning message 2023-02-14 10:42:24 -08:00
bastimeyer 9a0c64a78a chore: update Gitter link in issue template config 2023-02-14 12:31:58 +01:00
bastimeyer 948160087e docs: rewrite, fix and improve CLI tutorial 2023-02-12 12:15:02 -08:00
bastimeyer a0a5af60b0 docs: remove Open Collective
- Rewrite the documentation's donate page
  - Remove donation infos from individual team members
  - Add all team members
  - Fix GitHub username regex in Sphinx extension
- Rewrite the project README
  - Use HTML for centered text, add logo, update badges
  - Rephrase text sections
  - Remove Open Collective and update support section
- Replace all links to Open Collective with a link to the latest docs
2023-02-11 12:10:36 -08:00
bastimeyer d91d2a8ee5 tools: remove export-subst from .gitattributes
Added by 416c834 and made obsolete by 9b0815d
2023-02-11 12:50:48 +01:00
bastimeyer 13915cf86d chore: fix issues introduced by ruff 0.0.245 2023-02-11 12:45:05 +01:00
bastimeyer ffca7bdbd8 tools: add .git-blame-ignore-revs
See `man git-blame`, `git blame --ignore-revs-file <file>`
and the `blame.ignoreRevsFile` git config option.
2023-02-10 12:30:31 -08:00
bastimeyer 4622c9728e chore: add "ISC" rules to ruff config 2023-02-09 11:48:40 -08:00
bastimeyer 17daf563a3 chore: add "C4" rules to ruff config 2023-02-09 11:48:40 -08:00
bastimeyer 57fa6f80e8 chore: add "COM" rules to ruff config 2023-02-09 10:26:50 -08:00
bastimeyer 9fd14e3f9d chore: add "Q" rules to ruff config 2023-02-09 10:26:50 -08:00
bastimeyer faab9200c7 chore: add "I" and "TID" rules to ruff config 2023-02-09 10:26:50 -08:00
bastimeyer 98596e9331 tools: replace flake8 with ruff 2023-02-09 09:54:14 -08:00
TaoziDB ce2c5e11db
plugins.nimotv: fix livestream stopping after couple of seconds (#5147) 2023-02-08 16:12:13 +01:00
bastimeyer 3094941958 plugins.youtube: restore /user/... URLs 2023-02-08 14:59:26 +00:00
bastimeyer 04da9f5cdc stream.hls: refactor various attribute parsers
- Turn methods into classmethods
- Emit warning messages on parsing failure
- Add unit tests
2023-02-07 09:58:03 +01:00
bastimeyer 3e83393811 stream.hls: refactor and fix attribute list parser
- Rewrite and fix attribute list regex
- Be more strict when parsing multiple attributes and expect the
  mandatory comma separator, but be lenient about spaces surrounding
  attributes (off-spec), similar to the old implementation
- Add missing support for signed decimal floating point numbers
- Fix invalid range of hexadecimal sequences and allow uppercase prefix
- Fix character range of enumerated strings being too narrow
- Fix character range of quoted strings
- Discard entire attribute list on parsing failure and emit warning
- Add unit tests
2023-02-07 09:58:03 +01:00
bastimeyer 9fa2d820a5 plugins.youtube: rewrite and fix matchers 2023-02-06 22:41:17 +01:00
bastimeyer 96627e7a0d build: include py.typed in package_data 2023-02-04 13:37:44 -08:00