commit fcea8dc69f246e04c5304af228295d1be740de3b from: Thomas Böhler date: Sun Feb 25 08:56:42 2024 UTC fix: fallback to url if guid not available for rss Signed-off-by: Thomas Böhler commit - f20e74098824aaf2cdf50e299d96eaa28b52d7da commit + fcea8dc69f246e04c5304af228295d1be740de3b blob - 9e2af03f15e99e78f6d321acff448143c9c69437 blob + eea2fd2d572301b178cea81d48b7e930163870a9 --- src/models.rs +++ src/models.rs @@ -27,11 +27,14 @@ impl TryFrom for Post { .timestamp() }); - let guid = item - .guid() - .ok_or_else(|| MissingGUID { item: item.clone() })? - .value() - .to_string(); + // take the guid and fall back to the link of the feed. abort if neither exist. + let guid = if let Some(g) = &item.guid { + g.value().to_string() + } else { + item.link() + .map(String::from) + .ok_or_else(|| MissingGUID { item: item.clone() })? + }; let title = item.title().map(String::from); let url = item.link().map(String::from); let pub_date = time;