Add non-MTP ParseWebPageType.

This commit is contained in:
John Preston 2021-10-11 21:47:36 +04:00
parent 01c1096c62
commit 041c922451
1 changed files with 13 additions and 4 deletions

View File

@ -134,9 +134,11 @@ WebPageCollage ExtractCollage(
} // namespace } // namespace
WebPageType ParseWebPageType(const MTPDwebPage &page) { WebPageType ParseWebPageType(
const auto type = qs(page.vtype().value_or_empty()); const QString &type,
if (type == qstr("video") || page.vembed_url()) { const QString &embedUrl,
bool hasIV) {
if (type == qstr("video") || !embedUrl.isEmpty()) {
return WebPageType::Video; return WebPageType::Video;
} else if (type == qstr("photo")) { } else if (type == qstr("photo")) {
return WebPageType::Photo; return WebPageType::Photo;
@ -160,13 +162,20 @@ WebPageType ParseWebPageType(const MTPDwebPage &page) {
return WebPageType::Livestream; return WebPageType::Livestream;
} else if (type == qstr("telegram_user")) { } else if (type == qstr("telegram_user")) {
return WebPageType::User; return WebPageType::User;
} else if (page.vcached_page()) { } else if (hasIV) {
return WebPageType::ArticleWithIV; return WebPageType::ArticleWithIV;
} else { } else {
return WebPageType::Article; return WebPageType::Article;
} }
} }
WebPageType ParseWebPageType(const MTPDwebPage &page) {
return ParseWebPageType(
qs(page.vtype().value_or_empty()),
page.vembed_url().value_or_empty(),
!!page.vcached_page());
}
WebPageCollage::WebPageCollage( WebPageCollage::WebPageCollage(
not_null<Data::Session*> owner, not_null<Data::Session*> owner,
const MTPDwebPage &data) const MTPDwebPage &data)