use select::document::Document;
use select::predicate::{Name, Predicate};
use crate::Language;
use crate::text::{ArticleTextNode, ArticleTextNodeExtractor};
pub fn article_node<'a>(doc: &'a Document, lang: Language) -> Option<ArticleTextNode<'a>> {
let mut iter =
doc.find(Name("body").descendant(ArticleTextNodeExtractor::article_body_predicate()));
if let Some(node) = iter.next() {
if iter.next().is_none() {
return Some(ArticleTextNode::new(node));
}
}
ArticleTextNodeExtractor::calculate_best_node(doc, lang)
}