Skip feed that can't get fetched
This commit is contained in:
14
src/main.rs
14
src/main.rs
@@ -1,4 +1,5 @@
|
||||
use anyhow::{
|
||||
bail,
|
||||
Context,
|
||||
Result,
|
||||
};
|
||||
@@ -15,6 +16,7 @@ use feed_rs::{
|
||||
|
||||
use reqwest::{
|
||||
IntoUrl,
|
||||
StatusCode,
|
||||
Url,
|
||||
};
|
||||
|
||||
@@ -39,6 +41,10 @@ fn fetch_feed(url: impl IntoUrl) -> Result<Feed> {
|
||||
let r = reqwest::blocking::get(url)
|
||||
.context("Failed to fetch feed")?;
|
||||
|
||||
if r.status() != StatusCode::OK {
|
||||
bail!("Fetched feed returned unuseable status code {}", r.status());
|
||||
}
|
||||
|
||||
let content = r.bytes()
|
||||
.context("Failed to read feed contents")?;
|
||||
|
||||
@@ -108,7 +114,13 @@ fn main() -> Result<()> {
|
||||
for feed_url in feed_file.urls {
|
||||
println!("Loading feed {}", feed_url);
|
||||
|
||||
let feed_entries = fetch_feed(feed_url)?.entries;
|
||||
let feed_entries = match fetch_feed(feed_url) {
|
||||
Ok(feed) => feed.entries,
|
||||
Err(e) => {
|
||||
println!("\t{}, skipping", e);
|
||||
continue;
|
||||
},
|
||||
};
|
||||
|
||||
for entry in feed_entries {
|
||||
match make_feed_item(entry) {
|
||||
|
Reference in New Issue
Block a user