xbmc-master: update to xbmc-master-14-603c7fa

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2014-06-11 16:35:17 +02:00
parent 2482e09069
commit a84b926724
3 changed files with 2 additions and 112 deletions

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="xbmc-master-theme-Confluence"
PKG_VERSION="14-9a8c117"
PKG_VERSION="14-603c7fa"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="xbmc-master"
PKG_VERSION="14-9a8c117"
PKG_VERSION="14-603c7fa"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -10263,116 +10263,6 @@ index 22ac229..75bc341 100644
1.9.3
From a3064e84bd84d36d2dc54ea264c180c00394e902 Mon Sep 17 00:00:00 2001
From: Jonathan Marshall <jmarshall@xbmc.org>
Date: Sat, 2 Nov 2013 23:53:14 +1300
Subject: [PATCH 62/89] refresh season art if a new season is found that isn't
recorded in the database yet. Fixes #14339
---
xbmc/video/VideoInfoScanner.cpp | 33 ++++++++++++++++++++++++++++++++-
xbmc/video/VideoInfoScanner.h | 2 ++
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/xbmc/video/VideoInfoScanner.cpp b/xbmc/video/VideoInfoScanner.cpp
index f6ba0aa..1190994 100644
--- a/xbmc/video/VideoInfoScanner.cpp
+++ b/xbmc/video/VideoInfoScanner.cpp
@@ -1305,6 +1305,10 @@ namespace VIDEO
pDlgProgress->Progress();
}
+ bool updateSeasons = false;
+ map<int, int> seasons;
+ m_database.GetTvShowSeasons(showInfo.m_iDbId, seasons);
+
EPISODELIST episodes;
bool hasEpisodeGuide = false;
@@ -1353,6 +1357,8 @@ namespace VIDEO
}
if (AddVideo(&item, CONTENT_TVSHOWS, file->isFolder, true, &showInfo) < 0)
return INFO_ERROR;
+ if (seasons.find(item.GetVideoInfoTag()->m_iSeason) == seasons.end())
+ updateSeasons = true;
continue;
}
@@ -1482,6 +1488,8 @@ namespace VIDEO
if (AddVideo(&item, CONTENT_TVSHOWS, file->isFolder, useLocal, &showInfo) < 0)
return INFO_ERROR;
+ if (seasons.find(item.GetVideoInfoTag()->m_iSeason) == seasons.end())
+ updateSeasons = true;
}
else
{
@@ -1490,9 +1498,27 @@ namespace VIDEO
file->cDate.GetAsLocalizedDate().c_str(), file->strTitle.c_str());
}
}
+ if (updateSeasons)
+ UpdateSeasons(showInfo, scraper, useLocal);
return INFO_ADDED;
}
+ void CVideoInfoScanner::UpdateSeasons(const CVideoInfoTag &showInfo, const ADDON::ScraperPtr &scraper, bool useLocal)
+ {
+ map<int, map<string, string> > seasonArt;
+ m_database.GetTvShowSeasonArt(showInfo.m_iDbId, seasonArt);
+ CVideoInfoTag details;
+ CVideoInfoDownloader loader(scraper);
+ loader.GetArt(showInfo.m_strIMDBNumber, details);
+ details.m_strPath = showInfo.m_strPath;
+ GetSeasonThumbs(details, seasonArt, CVideoThumbLoader::GetArtTypes("season"), useLocal);
+ for (map<int, map<string, string> >::iterator i = seasonArt.begin(); i != seasonArt.end(); ++i)
+ {
+ int seasonID = m_database.AddSeason(showInfo.m_iDbId, i->first);
+ m_database.SetArtForItem(seasonID, "season", i->second);
+ }
+ }
+
CStdString CVideoInfoScanner::GetnfoFile(CFileItem *item, bool bGrabAny) const
{
CStdString nfoFile;
@@ -1713,6 +1739,11 @@ namespace VIDEO
}
for (int season = -1; season <= maxSeasons; season++)
{
+ // skip if we already have some art
+ map<int, map<string, string> >::const_iterator i = seasonArt.find(season);
+ if (i != seasonArt.end() && !i->second.empty())
+ continue;
+
map<string, string> art;
if (useLocal)
{
@@ -1766,7 +1797,7 @@ namespace VIDEO
art.insert(make_pair(artTypes.front(), image));
}
- seasonArt.insert(make_pair(season, art));
+ seasonArt[season] = art;
}
}
diff --git a/xbmc/video/VideoInfoScanner.h b/xbmc/video/VideoInfoScanner.h
index bb177d4..1ea47fd 100644
--- a/xbmc/video/VideoInfoScanner.h
+++ b/xbmc/video/VideoInfoScanner.h
@@ -212,6 +212,8 @@ namespace VIDEO
*/
INFO_RET OnProcessSeriesFolder(EPISODELIST& files, const ADDON::ScraperPtr &scraper, bool useLocal, const CVideoInfoTag& showInfo, CGUIDialogProgress* pDlgProgress = NULL);
+ void UpdateSeasons(const CVideoInfoTag &showInfo, const ADDON::ScraperPtr &scraper, bool useLocal);
+
void EnumerateSeriesFolder(CFileItem* item, EPISODELIST& episodeList);
bool EnumerateEpisodeItem(const CFileItem *item, EPISODELIST& episodeList);
bool ProcessItemByVideoInfoTag(const CFileItem *item, EPISODELIST &episodeList);
--
1.9.3
From d86fdb17e95ae8e2be8578146462a29511316e09 Mon Sep 17 00:00:00 2001
From: Jonathan Marshall <jmarshall@xbmc.org>
Date: Sat, 2 Nov 2013 23:53:34 +1300