diff options
author | Matthias Kortstiege <mkortstiege@kodi.tv> | 2015-04-07 10:11:04 +0200 |
---|---|---|
committer | Matthias Kortstiege <mkortstiege@kodi.tv> | 2015-04-11 20:08:18 +0200 |
commit | c79606ed11be8d88c9b6976323a68ea71935aaaf (patch) | |
tree | 70e586ef60b63aa5f76864436794643275000fcb | |
parent | 7fe0aa3002be118a954a2c852de04763ece665e3 (diff) |
[scraper] added GetArtwork function
-rw-r--r-- | xbmc/addons/Scraper.cpp | 29 | ||||
-rw-r--r-- | xbmc/addons/Scraper.h | 1 |
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); |