1
0
Fork 0
mirror of https://gitlab.com/news-flash/article_scraper.git synced 2025-07-07 16:15:32 +02:00

don't abort image download on failed image

This commit is contained in:
Jan Lukas Gernert 2019-09-24 02:56:45 +02:00
parent f9905c8a9d
commit 481a2f41ac

View file

@ -53,20 +53,21 @@ impl ImageDownloader {
evaluate_xpath!(context, xpath, node_vec); evaluate_xpath!(context, xpath, node_vec);
for mut node in node_vec { for mut node in node_vec {
if let Some(url) = node.get_property("src") { if let Some(url) = node.get_property("src") {
let url = url::Url::parse(&url) if let Ok(url) = url::Url::parse(&url) {
.context(ImageDownloadErrorKind::InvalidUrl)?; let parent_url = match self.check_image_parent(&node, &url) {
let parent_url = match self.check_image_parent(&node, &url) { Ok(url) => Some(url),
Ok(url) => Some(url), Err(_) => None,
Err(_) => None, };
};
let (small_image, big_image) = self.save_image(&url, &parent_url)?; if let Ok((small_image, big_image)) = self.save_image(&url, &parent_url) {
if let Err(_) = node.set_property("src", &small_image) { if let Err(_) = node.set_property("src", &small_image) {
return Err(ImageDownloadErrorKind::HtmlParse)?; return Err(ImageDownloadErrorKind::HtmlParse)?;
} }
if let Some(big_image) = big_image { if let Some(big_image) = big_image {
if let Err(_) = node.set_property("big-src", &big_image) { if let Err(_) = node.set_property("big-src", &big_image) {
return Err(ImageDownloadErrorKind::HtmlParse)?; return Err(ImageDownloadErrorKind::HtmlParse)?;
}
}
} }
} }
} }