Compare commits
10 Commits
Author | SHA1 | Date |
---|---|---|
Paul van Tilburg | 49728ea6dd | |
Paul van Tilburg | 97b8a0b8bd | |
Paul van Tilburg | 36cfa2d0ff | |
Paul van Tilburg | a9e0e2417d | |
Paul van Tilburg | 263d8272da | |
Paul van Tilburg | db2d7f3f6c | |
Paul van Tilburg | 1a8f8d67fa | |
Paul van Tilburg | f4f9578c0e | |
Paul van Tilburg | 6d6895066f | |
Paul van Tilburg | f3c4c5071f |
35
CHANGELOG.md
35
CHANGELOG.md
|
@ -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
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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"
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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(×tamp);
|
||||
// There is no updated at timestamp available, really.
|
||||
let updated_at = published_at;
|
||||
|
||||
|
|
|
@ -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"),
|
||||
" ",
|
||||
|
|
Loading…
Reference in New Issue