Commit Graph

36 Commits

Author SHA1 Message Date
Paul van Tilburg 49728ea6dd
Bump the version to 0.5.3
Check and lint using Cargo / Check and lint (push) Successful in 2m39s Details
Release / Release (push) Successful in 1m24s Details
Release / Release crate (push) Successful in 4m13s Details
Release / Release Debian package (push) Successful in 6m34s Details
2024-02-27 13:54:20 +01:00
Paul van Tilburg 36cfa2d0ff Bump the dependency on cached to 0.49.2
Check and lint using Cargo / Check and lint (push) Successful in 2m58s Details
2024-02-26 21:19:56 +01:00
Paul van Tilburg 1a8f8d67fa
Bump the version to 0.5.2
Check and lint using Cargo / Check and lint (push) Successful in 2m56s Details
Release / Release (push) Successful in 1m7s Details
Release / Release crate (push) Successful in 4m35s Details
Release / Release Debian package (push) Successful in 7m10s Details
2023-11-03 11:24:44 +01:00
Paul van Tilburg 6d6895066f
Bump the dependency on cached to 0.46.0 2023-11-03 11:21:49 +01:00
Paul van Tilburg b0cb9d984a
Bump the version to 0.5.1
Check and lint using Cargo / Check and lint (push) Successful in 3m0s Details
Release / Release (push) Successful in 1m29s Details
Release / Release crate (push) Successful in 5m14s Details
Release / Release Debian package (push) Successful in 7m16s Details
2023-08-25 22:09:32 +02:00
Paul van Tilburg 613d50bf30
Bump the dependency on youtube_dl to 0.9.0 2023-08-25 22:03:47 +02:00
Paul van Tilburg 06e0a5ecd5
Bump the dependency on cached to 0.44.0 2023-06-08 11:10:57 +02:00
Paul van Tilburg a05106fecf
Bump the version to 0.5.0
Check and lint using Cargo / Check and lint (push) Successful in 4m23s Details
Release / Release (push) Successful in 8m38s Details
Release / Release crate (push) Failing after 4m36s Details
2023-06-08 10:36:38 +02:00
Paul van Tilburg cb43d91b64
Bump the version to 0.4.1
Check Details
Lints Details
2023-04-11 19:41:59 +02:00
Paul van Tilburg 133bc0ac27
Add missing repository field 2023-03-24 19:29:21 +01:00
Paul van Tilburg 51c3874820
Bump the version to 0.4.0
Check Details
Lints Details
2023-03-24 19:25:52 +01:00
Paul van Tilburg bae34b6858
Bump dependencies on cached and youtube_dl 2023-03-24 19:20:55 +01:00
Paul van Tilburg 81979cd5e0
Update to Rocket 0.5.0-rc.3 2023-03-24 19:17:00 +01:00
Paul van Tilburg 83d025c785
Bump the dependency on ytextract (closes: #14)
This fixes the issue where JSON cannot be serialized due to changes
in YouTube (a new player UI button in particular).
2023-01-30 19:53:25 +01:00
Paul van Tilburg b7a923c918
Bump the version to 0.3.0 2022-12-24 13:31:27 +01:00
Paul van Tilburg 4244fbc6d2
Bump dependencies; cargo update 2022-12-24 13:22:54 +01:00
Paul van Tilburg 9f88f4f9a3
Bump the depend on ytextract
This newer version is able to correctly parse the date of streamed
videos.

Also use the full `ytextract::Video` structs which should have have all
the metadata.
2022-12-23 22:17:55 +01:00
Paul van Tilburg 8e73deb042
Mention YouTube support in the public documentation 2022-12-23 22:17:55 +01:00
Paul van Tilburg 3a3fbc96f4
Use a MIME DB to determine the download URL file extensions
* Also apply it to the default MIME type for Mixcloud posts
* Add a dependency on the `mime_db` crate
2022-12-23 22:17:55 +01:00
Paul van Tilburg 59e1f8a987
Add first version of the YouTube back-end 2022-12-23 22:17:52 +01:00
Paul van Tilburg 32040f3b0f
Cargo update 2022-10-17 19:51:33 +02:00
Paul van Tilburg 49e0e47ba2
Introduce enum and enum dispatching for backends
This way handlers don't need to do case matching on backend ID strings
anymore.

* Rename `backend` to `backend_id` where we have a backend ID
* Add `get` function and `Backends` enum to the `backend` module
* Add a depend on the `enum_dispatch` crate
2022-08-15 20:21:42 +02:00
Paul van Tilburg bc9a9e307d
Add back-end abstraction; refactor Mixcloud back-end (closes: #10)
* Add a `backend` module `Backend` trait and necessary abstract types
* Refactor handlers to use the back-end abstraction
* Directly serialize to URLs where necessary in Mixcloud back-end
* Require `serde` feature for the url crate
2022-08-14 09:03:58 +02:00
Paul van Tilburg 218e714b03 Bump dependency on cached to 0.38.0
This fixes the unused `*_prime_cache` compile warnings.
2022-08-12 09:53:56 +02:00
Paul van Tilburg 8c0bfd766a
Bump the version to 0.2.0 2022-05-27 22:59:29 +02:00
Paul van Tilburg 78fc93fedf
Retrieve all pages by following the next URL
* Derserialize the paging information
* Parse each next URL; handle URL parse errors
* Use a default page size of 50; pass offset 0 to count by item index
2022-05-27 22:47:52 +02:00
Paul van Tilburg 451c07a09e
Implement caching (closes: #3)
* Enable the `async` feature for the `cached` crate
* Make the types that we cache implement `Clone`
* Rename the argument of mixcloud::redirect_url` because of this issue:
  https://github.com/jaemk/cached/issues/114
2022-05-26 21:20:10 +02:00
Paul van Tilburg b4c0188fba
Drop some unnecessary bloat/unused crates 2022-05-26 20:40:18 +02:00
Paul van Tilburg 3ec1879932
Replace own youtube-dl impl by youtube_dl crate (refs: #8)
* Drop the depend on the `tokio` crate, because we don't need to
  run our own processes anymore.
* Remove unnecessary error variant for command failure
2022-05-26 20:38:51 +02:00
Paul van Tilburg b53365a293
Implement proper error logging and handling (closes: #6)
* Use the `thiserror` crate to make our own error type
* Implement Rocket's `Responder` type for the error type
* Adjust all methods to use the error type
* Small documentation tweaks
2022-05-26 19:57:24 +02:00
Paul van Tilburg 326a29480b
Install the templates; set env var for location 2022-05-24 11:28:09 +02:00
Paul van Tilburg 8afd4b17ba
Add a simple index page that explains the usage 2022-05-24 11:05:59 +02:00
Paul van Tilburg c6789d51fb
Add Debian packaging via cargo-deb
* Add the required metadata to `Cargo.toml`
* Add a systemd unit file
* Use `Rocket.toml.example` as the default configuration
2022-05-20 16:54:09 +02:00
Paul van Tilburg ff36880e4f
Use the same description everywhere 2022-05-20 16:43:39 +02:00
Paul van Tilburg d7f209aecc
Add README.md and LICENSE file
Also link the files from the crate and include `README.md` as the main
crate documentation
2022-05-20 16:19:58 +02:00
Paul van Tilburg aac6248878
Initial import into Git 2022-05-20 16:14:55 +02:00