Compare commits

...

10 Commits
v0.5.1 ... main

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 97b8a0b8bd
Update the changelog 2024-02-27 13:53: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 a9e0e2417d Cargo update; fixes several security advisories
Fixes RUSTSEC-2024-0003, RUSTSEC-2023-0072 and RUSTSEC-2023-0074.
2024-02-26 21:18:19 +01:00
Paul van Tilburg 263d8272da
Handle paging information begin absent (closes: #17)
Check and lint using Cargo / Check and lint (push) Successful in 3m11s Details
2024-02-16 20:50:23 +01:00
Paul van Tilburg db2d7f3f6c
Add missing date
Check and lint using Cargo / Check and lint (push) Successful in 3m50s Details
2023-11-03 11:52:46 +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 f4f9578c0e
Update the changelog 2023-11-03 11:23:38 +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 f3c4c5071f
Cargo update; fixes RUSTSEC-2020-0071
This switches to Rocket 0.5-rc.4
Also fix the usage of a deprecated method.
2023-11-03 11:20:18 +01:00
6 changed files with 617 additions and 512 deletions

View File

@ -7,7 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.5.1]
## [0.5.3] - 2024-02-27
### Changed
* Update dependency on `cached`
### Security
* Update dependencies, fixes security advisories:
* [RUSTSEC-2024-0003](https://rustsec.org/advisories/RUSTSEC-2024-0003)
* [RUSTSEC-2023-0072](https://rustsec.org/advisories/RUSTSEC-2024-0072)
* [RUSTSEC-2023-0074](https://rustsec.org/advisories/RUSTSEC-2024-0072)
### Fixed
* Handle paging information begin absent; fixes short feeds for Mixcloud (#17)
## [0.5.2] - 2023-11-03
### Security
* Update dependencies
([RUSTSEC-2020-0071](https://rustsec.org/advisories/RUSTSEC-2020-0071.html))
### Changed
* Switch to Rocket 0.5 RC4
* Update dependency on `cached`
## [0.5.1] - 2023-08-25
### Changed
@ -121,7 +150,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
Initial release.
[Unreleased]: https://git.luon.net/paul/podbringer/compare/v0.4.1...HEAD
[Unreleased]: https://git.luon.net/paul/podbringer/compare/v0.5.3...HEAD
[0.5.3]: https://git.luon.net/paul/podbringer/compare/v0.5.1..v0.5.2
[0.5.2]: https://git.luon.net/paul/podbringer/compare/v0.5.1..v0.5.2
[0.5.1]: https://git.luon.net/paul/podbringer/compare/v0.5.0..v0.5.1
[0.5.0]: https://git.luon.net/paul/podbringer/compare/v0.4.1..v0.5.0
[0.4.1]: https://git.luon.net/paul/podbringer/compare/v0.4.0..v0.4.1

1071
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
[package]
name = "podbringer"
version = "0.5.1"
version = "0.5.3"
authors = ["Paul van Tilburg <paul@luon.net>"]
edition = "2021"
description = "Web service that provides podcasts for services that don't offer them (anymore)"
@ -10,7 +10,7 @@ license = "MIT"
[dependencies]
async-trait = "0.1.57"
cached = { version = "0.44.0", features = ["async"] }
cached = { version = "0.49.2", features = ["async"] }
chrono = { version = "0.4.19", features = ["serde"] }
enum_dispatch = "0.3.8"
mime-db = "1.6.0"

View File

@ -66,11 +66,16 @@ impl super::Backend for Backend {
let count = cloudcasts_res.items.len();
cloudcasts.extend(cloudcasts_res.items);
// Check if any paging information is present.
let Some(paging) = cloudcasts_res.paging else {
break;
};
// Continue onto the next URL in the paging, if there is one and the limit was not
// reached.
limit = limit.saturating_sub(count);
offset += count;
match (limit, cloudcasts_res.paging.next) {
match (limit, paging.next) {
(0, Some(_)) => break,
(_, Some(next_url)) => {
cloudcasts_url = Url::parse(&next_url)?;
@ -126,8 +131,8 @@ pub(crate) struct CloudcastsResponse {
#[serde(rename = "data")]
items: Vec<Cloudcast>,
/// The paging information.
paging: CloudcastsPaging,
/// The paging information (if any).
paging: Option<CloudcastsPaging>,
}
/// The Mixcloud paging info.

View File

@ -6,7 +6,7 @@ use std::path::{Path, PathBuf};
use async_trait::async_trait;
use cached::proc_macro::cached;
use chrono::{DateTime, Utc};
use chrono::{TimeZone, Utc};
use reqwest::Url;
use rocket::futures::StreamExt;
use ytextract::playlist::video::{Error as YouTubeVideoError, Video as YouTubePlaylistVideo};
@ -224,7 +224,7 @@ impl From<YouTubeVideoWithStream> for Item {
.date()
.and_hms_opt(12, 0, 0)
.expect("Invalid hour, minute and/or second");
let published_at = DateTime::from_utc(timestamp, Utc);
let published_at = Utc.from_utc_datetime(&timestamp);
// There is no updated at timestamp available, really.
let updated_at = published_at;

View File

@ -2,7 +2,7 @@
use std::path::PathBuf;
use chrono::{DateTime, NaiveDateTime, Utc};
use chrono::{DateTime, NaiveDateTime, TimeZone, Utc};
use rocket::http::uri::Absolute;
use rocket::uri;
use rss::extension::itunes::{
@ -30,7 +30,7 @@ pub(crate) fn construct(backend_id: &str, config: &Config, channel: Channel) ->
.build();
let unix_timestamp = NaiveDateTime::from_timestamp_opt(0, 0)
.expect("Out-of-range seconds or invalid nanoseconds");
let mut last_build = DateTime::from_utc(unix_timestamp, Utc);
let mut last_build = Utc.from_utc_datetime(&unix_timestamp);
let generator = String::from(concat!(
env!("CARGO_PKG_NAME"),
" ",