aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Kortstiege <mkortstiege@kodi.tv>2015-04-07 10:11:04 +0200
committerMatthias Kortstiege <mkortstiege@kodi.tv>2015-04-11 20:08:18 +0200
commitc79606ed11be8d88c9b6976323a68ea71935aaaf (patch)
tree70e586ef60b63aa5f76864436794643275000fcb
parent7fe0aa3002be118a954a2c852de04763ece665e3 (diff)
[scraper] added GetArtwork function
-rw-r--r--xbmc/addons/Scraper.cpp29
-rw-r--r--xbmc/addons/Scraper.h1
2 files changed, 30 insertions, 0 deletions
diff --git a/xbmc/addons/Scraper.cpp b/xbmc/addons/Scraper.cpp
index 06f34f2f72..f763481355 100644
--- a/xbmc/addons/Scraper.cpp
+++ b/xbmc/addons/Scraper.cpp
@@ -1029,5 +1029,34 @@ bool CScraper::GetArtistDetails(CCurlFile &fcurl, const CScraperUrl &scurl,
return fRet;
}
+bool CScraper::GetArtwork(XFILE::CCurlFile &fcurl, CVideoInfoTag &details)
+{
+ if (details.m_strIMDBNumber.empty())
+ return false;
+
+ CLog::Log(LOGDEBUG, "%s: Reading artwork for '%s' using %s scraper "
+ "(file: '%s', content: '%s', version: '%s')", __FUNCTION__, details.m_strIMDBNumber.c_str(),
+ Name().c_str(), Path().c_str(), ADDON::TranslateContent(Content()).c_str(), Version().asString().c_str());
+
+ std::vector<std::string> vcsIn;
+ CScraperUrl scurl;
+ vcsIn.push_back(details.m_strIMDBNumber);
+ std::vector<std::string> vcsOut = RunNoThrow("GetArt", scurl, fcurl, &vcsIn);
+
+ bool fRet(false);
+ for (std::vector<std::string>::const_iterator it = vcsOut.begin(); it != vcsOut.end(); ++it)
+ {
+ CXBMCTinyXML doc;
+ doc.Parse(*it, TIXML_ENCODING_UTF8);
+ if (!doc.RootElement())
+ {
+ CLog::Log(LOGERROR, "%s: Unable to parse XML", __FUNCTION__);
+ return false;
+ }
+ fRet = details.Load(doc.RootElement(), it != vcsOut.begin());
+ }
+ return fRet;
+}
+
}
diff --git a/xbmc/addons/Scraper.h b/xbmc/addons/Scraper.h
index 7a0b0c68d4..e46f9decf2 100644
--- a/xbmc/addons/Scraper.h
+++ b/xbmc/addons/Scraper.h
@@ -149,6 +149,7 @@ public:
CAlbum &album);
bool GetArtistDetails(XFILE::CCurlFile &fcurl, const CScraperUrl &scurl,
const std::string &sSearch, CArtist &artist);
+ bool GetArtwork(XFILE::CCurlFile &fcurl, CVideoInfoTag &details);
private:
CScraper(const CScraper &rhs);