bugfixes #15

Manually merged
froge merged 5 commits from bugfixes into master 2023-10-08 04:08:12 +00:00
Showing only changes of commit da62c7c2c6 - Show all commits

View file

@ -45,27 +45,21 @@ pub fn parse_metadata(page: &str) -> Option<Embed> {
let mut meta_title = String::default();
let mut meta_description = String::default();
match (title, desc) {
// If both title and description aren't found return None
(None, None) => {
if let (None, None) = (title, desc) {
warn!("Couldn't parse any metadata for URL");
return None;
}
// Otherwise set the title/description to whatever we find
(Some(title), Some(desc)) => {
if let Some(title) = title {
meta_title = title.text().collect();
meta_description = desc.value().attr("content").unwrap().to_string();
}
// Handle logging of parse failures
// and set values to whatever we *did* manage to scrape
(Some(title), None) => {
warn!("Failed to parse description HTML");
meta_title = title.text().collect();
}
(None, Some(desc)) => {
} else {
warn!("Failed to parse title HTML");
meta_description = desc.value().attr("content").unwrap().to_string();
}
if let Some(desc) = desc {
meta_description = desc.value().attr("content").unwrap().to_string();
} else {
warn!("Failed to parse description HTML");
}
Some(Embed::new(meta_title, meta_description))