Commit graph

617 commits

Author SHA1 Message Date
d36ba595da
fix: extraction error message
Some checks failed
CI / Test (push) Failing after 7m7s
2024-08-08 15:10:55 +02:00
e8324cf3b0
fix: use anstream + owo-color for colorful CLI output
the color-print crate works very well, but it cannot disable styling if the terminal does not support it,
when saving the output to a file, etc
2024-08-08 15:04:15 +02:00
d053ac3eba
fix: make Verification enum exhaustive 2024-08-08 14:56:39 +02:00
91b020efd4
feat: add plaintext output to CLI 2024-08-08 03:22:51 +02:00
114a86a382
feat: add YtEntity trait to YouTubeItem and MusicItem 2024-08-08 03:22:04 +02:00
97fb0578b5
feat: add audiotag+indicatif features to downloader 2024-08-06 14:04:03 +02:00
c6bd03fb70
fix: add var to deobf fn assignment 2024-08-06 14:01:38 +02:00
e1e4fb29c1
feat: downloader: add download_track fn, improve path templates 2024-08-01 03:11:54 +02:00
3c83e11e75
fix: nsig fn extraction 2024-07-31 21:46:32 +02:00
1e1315a837
feat: downloader: add audio tagging 2024-07-31 03:27:27 +02:00
e608811e5f
feat!: add TV client 2024-07-30 01:55:24 +02:00
b6bc05c1f3 chore(deps): update rust crate quick-xml to 0.36.0 (#8)
All checks were successful
CI / Test (push) Successful in 3m23s
Reviewed-on: #8
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-07-29 18:20:51 +02:00
882abc53ca
chore: renovate: enable automerge
Some checks failed
CI / Test (push) Has been cancelled
renovate / renovate (push) Successful in 1m4s
2024-07-29 18:20:11 +02:00
015bd6fcbf
chore: renovate: disable scheduleDaily
Some checks failed
renovate / renovate (push) Has been cancelled
CI / Test (push) Has been cancelled
2024-07-29 18:17:35 +02:00
4743f9d8e1
chore: renovate: disable approveMajorUpdates
All checks were successful
renovate / renovate (push) Successful in 50s
CI / Test (push) Successful in 4m32s
2024-07-29 18:10:45 +02:00
37a14aa9ce
test: fix tests
Some checks failed
CI / Test (push) Has been cancelled
2024-07-29 18:10:10 +02:00
2c7a3fb5cc
fix: cli: print video ID when logging errors 2024-07-29 18:06:35 +02:00
72b5dfec69
feat: add player_from_clients function to specify client order 2024-07-29 18:03:31 +02:00
8152ce6b08
fix: improve deobfuscator (support multiple nsig name matches, error if mapping all streams fails)
Since YouTube keeps changing the nsig function signature and a generic regex may match at multiple places, I changed the extraction logic to search for multiple matches if necessary and test the extracted deobfuscation functions.

I also found out that if the deobfuscation fails for all streams, fetching the player still returns a successful result with no streams, suggesting that the video is not available. So I changed the mapper to throw an ExtractionError if no streams are mapped successfully.
2024-07-29 14:45:52 +02:00
11a0038350
feat: overhauled downloader 2024-07-27 04:00:11 +02:00
fb7af3b966
fix: make nsig_fn regex more generic 2024-07-27 03:23:09 +02:00
821984bbd5
feat!: make StreamFilter use Vec internally, remove lifetime 2024-07-27 03:21:48 +02:00
bbbe9b4b32
feat: add channel_id and channel_name getters to YtEntity trait 2024-07-27 02:41:05 +02:00
3d6de53545
feat: add http_client method to RustyPipe and user_agent method to RustyPipeQuery
For downloading, the http client as well as the user agent used by RustyPipe
should be available.
2024-07-27 02:36:45 +02:00
90540c6aaa
feat: add client_type to VideoPlayer, simplify MapResponse trait
The MapResponse trait needed too many arguments, so I added the MapRespCtx object.
Also added the client_type to the context, so it can be added to the extracted player data.
This is necessary to be able to download videos with the correct user agent
2024-07-27 02:30:24 +02:00
dd0565ba98
fix!: extracting nsig function, remove field throttled from Video/Audio stream model 2024-07-15 20:41:20 +02:00
182826a3ac
chore(release): release rustypipe v0.2.1
All checks were successful
Release / Release (push) Successful in 3m3s
CI / Test (push) Successful in 4m9s
2024-07-01 23:37:02 +02:00
298e4def93
fix(deps): update quick-xml to v0.35.0 2024-07-01 23:34:58 +02:00
618a24c120
chore(release): release rustypipe-cli v0.1.1
All checks were successful
CI / Test (push) Successful in 3m5s
Release / Release (push) Successful in 3m43s
2024-06-27 14:07:08 +02:00
4f06b51138
chore(release): release rustypipe-downloader v0.1.1
All checks were successful
CI / Test (push) Successful in 2m59s
Release / Release (push) Successful in 3m10s
2024-06-27 14:00:55 +02:00
3aff55c76c
ci: fix release changelog extraction 2024-06-27 14:00:20 +02:00
ea5df007bc
chore(release): release rustypipe v0.2.0
All checks were successful
CI / Test (push) Successful in 3m6s
Release / Release (push) Successful in 3m3s
2024-06-27 13:36:39 +02:00
d9d2c22aea
ci: fix release workflow 2024-06-27 13:35:46 +02:00
c3af918ba5 chore(deps): update rust crate rstest to 0.21.0 (#7)
All checks were successful
CI / Test (push) Successful in 2m26s
Reviewed-on: #7
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:53:08 +02:00
1e8a1af08c chore(deps): update rust crate quick-xml to 0.34.0 (#5)
Some checks are pending
CI / Test (push) Waiting to run
Reviewed-on: #5
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:52:54 +02:00
ce3ec34337 chore(deps): update rust crate tokio to 1.20.4 [security] (#4)
Some checks failed
CI / Test (push) Has been cancelled
Reviewed-on: #4
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:52:36 +02:00
e3de94c2a7
ci: renovate: disable lockfile maintenance
All checks were successful
renovate / renovate (push) Successful in 40s
CI / Test (push) Successful in 2m28s
2024-06-27 05:47:47 +02:00
263b873306
ci: update renovate config, add GH token
All checks were successful
renovate / renovate (push) Successful in 1m10s
CI / Test (push) Successful in 2m35s
2024-06-27 05:43:56 +02:00
abfe217807
ci: update renovate action
All checks were successful
renovate / renovate (push) Successful in 1m20s
CI / Test (push) Successful in 2m41s
2024-06-27 05:30:46 +02:00
1914e51aff
ci: improve Artifactview PR comment
Some checks failed
CI / Test (push) Has been cancelled
2024-06-27 05:29:00 +02:00
44c2debea6 chore: Configure Renovate (#3)
All checks were successful
CI / Test (push) Successful in 2m21s
Welcome to [Renovate](https://github.com/renovatebot/renovate)! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.

---
### Detected Package Files

 * `Cargo.toml` (cargo)
 * `cli/Cargo.toml` (cargo)
 * `codegen/Cargo.toml` (cargo)
 * `downloader/Cargo.toml` (cargo)
 * `.forgejo/workflows/ci.yaml` (github-actions)
 * `.forgejo/workflows/release.yaml` (github-actions)
 * `.forgejo/workflows/renovate.yaml` (github-actions)
 * `testfiles/dict/cldr_data/package.json` (npm)
 * `.woodpecker.yml` (woodpecker)

### What to Expect

With your current configuration, Renovate will create 4 Pull Requests:

<details>
<summary>chore(deps): update rust crate quick-xml to 0.34.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/quick-xml-0.x`
  - Merge into: `main`
  - Upgrade [quick-xml](https://github.com/tafia/quick-xml) to `0.34.0`

</details>

<details>
<summary>chore(deps): update rust crate rstest to 0.21.0</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/rstest-0.x`
  - Merge into: `main`
  - Upgrade [rstest](https://github.com/la10736/rstest) to `0.21.0`

</details>

<details>
<summary>chore(deps): update dependency cldr-dates-modern to v45</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/cldr-dates-modern-45.x`
  - Merge into: `main`
  - Upgrade [cldr-dates-modern](https://github.com/unicode-cldr/cldr-json) to `^45.0.0`

</details>

<details>
<summary>chore(deps): update dependency cldr-numbers-modern to v45</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/cldr-numbers-modern-45.x`
  - Merge into: `main`
  - Upgrade [cldr-numbers-modern](https://github.com/unicode-cldr/cldr-json) to `^45.0.0`

</details>

🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or overwhelm the project. See docs for `prhourlylimit` for details.

---

 Got questions? Check out Renovate's [Docs](https://docs.renovatebot.com/), particularly the Getting Started section.
If you need any further assistance then you can also [request help here](https://github.com/renovatebot/renovate/discussions).

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

<!--renovate-config-hash:94693a990c975907e7f13da3309b9d56ba02b3983519b41786edf5cf031e457c-->

Co-authored-by: Renovate Bot <forgejo-renovate-action@forgejo.org>
Co-authored-by: ThetaDev <thetadev@magenta.de>
Reviewed-on: #3
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:26:32 +02:00
938e577337
test: fix tests
All checks were successful
CI / Test (push) Successful in 2m23s
2024-06-27 05:16:57 +02:00
e0759ebce3
fix: renovate ci token
Some checks failed
renovate / renovate (push) Successful in 1m4s
CI / Test (push) Has been cancelled
2024-06-27 04:58:18 +02:00
913cadea0c
ci: change renovate docker image
Some checks failed
CI / Test (push) Failing after 2m31s
renovate / renovate (push) Failing after 2m29s
2024-06-27 04:52:49 +02:00
2bf8ea00c5
ci: fix revovate image version
Some checks failed
renovate / renovate (push) Failing after 1s
CI / Test (push) Has been cancelled
2024-06-27 04:50:46 +02:00
260575f94b
ci: add renovate action
Some checks failed
renovate / renovate (push) Failing after 1s
CI / Test (push) Has been cancelled
2024-06-27 04:49:25 +02:00
15f0c5b205
test: fix tests
Some checks failed
CI / Test (push) Failing after 2m16s
2024-06-27 04:26:51 +02:00
041ce2d08f
fix: parsing audiobook type in European Portuguese
Some checks failed
CI / Test (push) Failing after 2m20s
2024-06-27 03:20:00 +02:00
85751b35ed
ci: create Artifactview PR comments 2024-06-27 03:14:27 +02:00
9f7b8405a7
test: fix tests 2024-06-27 03:13:59 +02:00