void rss_parser::set_item_content(std::tr1::shared_ptr<rss_item> x, rsspp::item& item) { handle_content_encoded(x, item); handle_itunes_summary(x, item); if (x->description() == "") { x->set_description(item.description); } else { if (cfgcont->get_configvalue_as_bool("always-display-description") && item.description != "") x->set_description(x->description() + "<hr>" + item.description); } LOG(LOG_DEBUG, "rss_parser::set_item_content: content = %s", x->description().c_str()); }
void rss_parser::handle_content_encoded(std::tr1::shared_ptr<rss_item> x, rsspp::item& item) { if (x->description() != "") return; /* here we handle content:encoded tags that are an extension but very widespread */ if (item.content_encoded != "") { x->set_description(item.content_encoded); } else { LOG(LOG_DEBUG, "rss_parser::parse: found no content:encoded"); } }
void rss_parser::set_item_content(std::tr1::shared_ptr<rss_item> x, rsspp::item& item) { handle_content_encoded(x, item); handle_itunes_summary(x, item); if (x->description() == "") { x->set_description(item.description); } else { if (cfgcont->get_configvalue_as_bool("always-display-description") && item.description != "") x->set_description(x->description() + "<hr>" + item.description); } /* if it's still empty and we shall download the full page, then we do so. */ if (x->description() == "" && cfgcont->get_configvalue_as_bool("download-full-page") && x->link() != "") { x->set_description(utils::retrieve_url(x->link(), cfgcont)); } LOG(LOG_DEBUG, "rss_parser::set_item_content: content = %s", x->description().c_str()); }
void rss_parser::handle_itunes_summary(std::tr1::shared_ptr<rss_item> x, rsspp::item& item) { if (x->description() != "") return; std::string summary = item.itunes_summary; if (summary != "") { std::string desc = "<ituneshack>"; desc.append(summary); desc.append("</ituneshack>"); x->set_description(desc); } }