From 6fc03fe504556c404180e7176d315a8c73aa38a8 Mon Sep 17 00:00:00 2001 From: Luca Beltrame Date: Thu, 27 Aug 2015 22:28:05 +0200 Subject: [PATCH] Workaround more Danbooru brokenness image-width vs image_width... and so on --- src/libdanbooru/autotests/test_danbooru_post.cpp | 2 +- src/libdanbooru/danboorupost.cpp | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/libdanbooru/autotests/test_danbooru_post.cpp b/src/libdanbooru/autotests/test_danbooru_post.cpp index f6dbb35..f742799 100644 --- a/src/libdanbooru/autotests/test_danbooru_post.cpp +++ b/src/libdanbooru/autotests/test_danbooru_post.cpp @@ -214,7 +214,7 @@ void TestDanbooruPost::testPostLoadingXml_data() QTest::newRow("danbooru") << "donmai.xml" << Danbooru::ApiType::OriginalDanbooru - << 2106872 + << 2107611 << 1200 << 993 << 514370 diff --git a/src/libdanbooru/danboorupost.cpp b/src/libdanbooru/danboorupost.cpp index 9b96cf0..3f10720 100644 --- a/src/libdanbooru/danboorupost.cpp +++ b/src/libdanbooru/danboorupost.cpp @@ -39,8 +39,17 @@ void DanbooruPost::parseDanbooruDonmai(const QVariantMap &postData) { m_tags = QSet::fromList(postData.value("tag_string").toString().split(' ')); m_id = postData.value("id").toString().toInt(); - m_height = postData.value("image_height").toString().toInt(); - m_width = postData.value("image_width").toString().toInt(); + if (postData.contains("image_width")) { + m_width = postData.value("image_width").toString().toInt(); + } else if (postData.contains("image-width")) { + m_width = postData.value("image-width").toString().toInt(); + } + if (postData.contains("image_height")) { + m_height = postData.value("image_height").toString().toInt(); + } else if (postData.contains("image-height")) { + m_height = postData.value("image-height").toString().toInt(); + } + m_url = postData.value("file_url").toUrl(); m_thumbnailUrl = postData.value("preview_file_url").toUrl(); m_size = postData.value("file_size").toInt(); @@ -87,9 +96,8 @@ void DanbooruPost::parseDanbooruKonachan(const QVariantMap &postData) { m_tags = QSet::fromList(postData.value("tags").toString().split(' ')); m_id = postData.value("id").toString().toInt(); + m_width = postData.value("width").toString().toInt(); m_height = postData.value("height").toString().toInt(); - m_width = postData.value("width").toString().toInt(); - m_url = postData.value("file_url").toUrl(); m_thumbnailUrl = postData.value("preview_url").toUrl(); m_size = postData.value("file_size").toInt();