diff --git a/hammond-data/src/models/new_podcast.rs b/hammond-data/src/models/new_podcast.rs index 22f8d51..4eb3ac6 100644 --- a/hammond-data/src/models/new_podcast.rs +++ b/hammond-data/src/models/new_podcast.rs @@ -100,11 +100,13 @@ impl NewPodcast { }; let link = url_cleaner(chan.link()); - let x = chan.itunes_ext().map(|s| s.image()); - let image_uri = if let Some(img) = x { - img.map(|s| s.to_owned()) + let itunes_img = chan.itunes_ext() + .and_then(|s| s.image()) + .map(|s| s.to_owned()); + let image_uri = if itunes_img.is_some() { + itunes_img } else { - chan.image().map(|foo| foo.url().to_owned()) + chan.image().map(|s| s.url().to_owned()) }; NewPodcastBuilder::default() @@ -258,6 +260,16 @@ mod tests { .build() .unwrap() }; + static ref EXPECTED_ELLINOFRENEIA: NewPodcast = { + NewPodcastBuilder::default() + .title("Ελληνοφρένεια") + .link("https://ellinofreneia.sealabs.net/feed.rss") + .description("Ανεπίσημο feed της Ελληνοφρένειας") + .image_uri(Some("https://ellinofreneia.sealabs.net/logo.png".into())) + .source_id(42) + .build() + .unwrap() + }; static ref UPDATED_DESC_INTERCEPTED: NewPodcast = { NewPodcastBuilder::default() .title("Intercepted with Jeremy Scahill") @@ -319,6 +331,15 @@ mod tests { assert_eq!(*EXPECTED_CODE, pd); } + #[test] + fn test_new_podcast_ellinofreneia() { + let file = File::open("tests/feeds/2018-03-28-Ellinofreneia.xml").unwrap(); + let channel = Channel::read_from(BufReader::new(file)).unwrap(); + + let pd = NewPodcast::new(&channel, 42); + assert_eq!(*EXPECTED_ELLINOFRENEIA, pd); + } + #[test] // This maybe could be a doc test on insert. fn test_new_podcast_insert() { diff --git a/hammond-data/tests/feeds/2018-03-28-Ellinofreneia.xml b/hammond-data/tests/feeds/2018-03-28-Ellinofreneia.xml new file mode 100644 index 0000000..f8f5248 --- /dev/null +++ b/hammond-data/tests/feeds/2018-03-28-Ellinofreneia.xml @@ -0,0 +1,73 @@ + + + + Ελληνοφρένεια + https://ellinofreneia.sealabs.net/feed.rss + Ανεπίσημο feed της Ελληνοφρένειας + + All rights reversed by http://ellinofreneianet.gr/ + http://www.rssboard.org/rss-specification + python-feedgen + + https://ellinofreneia.sealabs.net/logo.png + Ελληνοφρένεια + https://ellinofreneia.sealabs.net/feed.rss + + el + Tue, 27 Mar 2018 13:00:56 +0000 + Tue, 27 Mar 2018 13:00:56 +0000 + no + + Τζένη Μπώτση + tbotsi@example.com + + + Η ρ_φ Ελληνοφρένεια της 27ης Μαρτίου 2018 + https://ellinofreneia.sealabs.net/audio/%CE%97%20%CF%81_%CF%86%20%CE%95%CE%BB%CE%BB%CE%B7%CE%BD%CE%BF%CF%86%CF%81%CE%AD%CE%BD%CE%B5%CE%B9%CE%B1%20%CF%84%CE%B7%CF%82%2027%CE%B7%CF%82%20%CE%9C%CE%B1%CF%81%CF%84%CE%AF%CE%BF%CF%85%202018.mp3 + + Tue, 27 Mar 2018 11:11:02 +0000 + + 2257 + + + Η ρ_φ Ελληνοφρένεια της 26ης Μαρτίου 2018 + https://ellinofreneia.sealabs.net/audio/%CE%97%20%CF%81_%CF%86%20%CE%95%CE%BB%CE%BB%CE%B7%CE%BD%CE%BF%CF%86%CF%81%CE%AD%CE%BD%CE%B5%CE%B9%CE%B1%20%CF%84%CE%B7%CF%82%2026%CE%B7%CF%82%20%CE%9C%CE%B1%CF%81%CF%84%CE%AF%CE%BF%CF%85%202018.mp3 + + Mon, 26 Mar 2018 11:16:17 +0000 + + 2188 + + + Η ρ_φ Ελληνοφρένεια της 23ης Μαρτίου 2018 + https://ellinofreneia.sealabs.net/audio/%CE%97%20%CF%81_%CF%86%20%CE%95%CE%BB%CE%BB%CE%B7%CE%BD%CE%BF%CF%86%CF%81%CE%AD%CE%BD%CE%B5%CE%B9%CE%B1%20%CF%84%CE%B7%CF%82%2023%CE%B7%CF%82%20%CE%9C%CE%B1%CF%81%CF%84%CE%AF%CE%BF%CF%85%202018.mp3 + + Fri, 23 Mar 2018 12:11:08 +0000 + + 2408 + + + Η ρ_φ Ελληνοφρένεια της 22ας Μαρτίου 2018 + https://ellinofreneia.sealabs.net/audio/%CE%97%20%CF%81_%CF%86%20%CE%95%CE%BB%CE%BB%CE%B7%CE%BD%CE%BF%CF%86%CF%81%CE%AD%CE%BD%CE%B5%CE%B9%CE%B1%20%CF%84%CE%B7%CF%82%2022%CE%B1%CF%82%20%CE%9C%CE%B1%CF%81%CF%84%CE%AF%CE%BF%CF%85%202018.mp3 + + Thu, 22 Mar 2018 12:31:20 +0000 + + 2227 + + + Η ρ_φ Ελληνοφρένεια της 21ης Μαρτίου 2018 + https://ellinofreneia.sealabs.net/audio/%CE%97%20%CF%81_%CF%86%20%CE%95%CE%BB%CE%BB%CE%B7%CE%BD%CE%BF%CF%86%CF%81%CE%AD%CE%BD%CE%B5%CE%B9%CE%B1%20%CF%84%CE%B7%CF%82%2021%CE%B7%CF%82%20%CE%9C%CE%B1%CF%81%CF%84%CE%AF%CE%BF%CF%85%202018.mp3 + + Wed, 21 Mar 2018 12:10:59 +0000 + + 2281 + + + Η ρ_φ Ελληνοφρένεια της 20ης Μαρτίου 2018 + https://ellinofreneia.sealabs.net/audio/%CE%97%20%CF%81_%CF%86%20%CE%95%CE%BB%CE%BB%CE%B7%CE%BD%CE%BF%CF%86%CF%81%CE%AD%CE%BD%CE%B5%CE%B9%CE%B1%20%CF%84%CE%B7%CF%82%2020%CE%B7%CF%82%20%CE%9C%CE%B1%CF%81%CF%84%CE%AF%CE%BF%CF%85%202018.mp3 + + Tue, 20 Mar 2018 12:11:06 +0000 + + 2159 + + + diff --git a/hammond-data/tests/feeds/notes.md b/hammond-data/tests/feeds/notes.md index 193c200..41114e5 100644 --- a/hammond-data/tests/feeds/notes.md +++ b/hammond-data/tests/feeds/notes.md @@ -38,3 +38,8 @@ Web view: https://web.archive.org/web/20180120104741/https://www.greaterthancode Raw file: https://web.archive.org/web/20180120104741if_/https://www.greaterthancode.com/feed/podcast +#### Ellinofreneia + +Web view: https://web.archive.org/web/20180328083913/https://ellinofreneia.sealabs.net/audio/podcast.rss + +Raw file: https://web.archive.org/web/20180328083913if_/https://ellinofreneia.sealabs.net/audio/podcast.rss \ No newline at end of file