aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-10 08:52:01 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-10 08:52:01 -0500
commitec4000404d59ee0e8342805cf7ce0c4ca04023b4 (patch)
treedc25abe9fa806b9f676af95ad61b9ac612f252f8 /MediaBrowser.Providers
parentc23bd68220fc01a6ccd1436fde91c51e473e1ae8 (diff)
rework text subtitles
Diffstat (limited to 'MediaBrowser.Providers')
-rw-r--r--MediaBrowser.Providers/Movies/ManualMovieDbImageProvider.cs20
-rw-r--r--MediaBrowser.Providers/Movies/ManualMovieDbPersonImageProvider.cs2
-rw-r--r--MediaBrowser.Providers/Movies/MovieDbPersonProvider.cs4
-rw-r--r--MediaBrowser.Providers/Movies/MovieDbProvider.cs27
-rw-r--r--MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs2
5 files changed, 41 insertions, 14 deletions
diff --git a/MediaBrowser.Providers/Movies/ManualMovieDbImageProvider.cs b/MediaBrowser.Providers/Movies/ManualMovieDbImageProvider.cs
index b9cabded7d..21e50f4001 100644
--- a/MediaBrowser.Providers/Movies/ManualMovieDbImageProvider.cs
+++ b/MediaBrowser.Providers/Movies/ManualMovieDbImageProvider.cs
@@ -51,7 +51,7 @@ namespace MediaBrowser.Providers.Movies
{
var list = new List<RemoteImageInfo>();
- var results = FetchImages(item, _jsonSerializer);
+ var results = await FetchImages((BaseItem)item, _jsonSerializer, cancellationToken).ConfigureAwait(false);
if (results == null)
{
@@ -62,7 +62,7 @@ namespace MediaBrowser.Providers.Movies
var tmdbImageUrl = tmdbSettings.images.base_url + "original";
- list.AddRange(GetPosters(results, item).Select(i => new RemoteImageInfo
+ list.AddRange(GetPosters(results).Select(i => new RemoteImageInfo
{
Url = tmdbImageUrl + i.file_path,
CommunityRating = i.vote_average,
@@ -75,7 +75,7 @@ namespace MediaBrowser.Providers.Movies
RatingType = RatingType.Score
}));
- list.AddRange(GetBackdrops(results, item).Select(i => new RemoteImageInfo
+ list.AddRange(GetBackdrops(results).Select(i => new RemoteImageInfo
{
Url = tmdbImageUrl + i.file_path,
CommunityRating = i.vote_average,
@@ -119,9 +119,8 @@ namespace MediaBrowser.Providers.Movies
/// Gets the posters.
/// </summary>
/// <param name="images">The images.</param>
- /// <param name="item">The item.</param>
/// <returns>IEnumerable{MovieDbProvider.Poster}.</returns>
- private IEnumerable<MovieDbProvider.Poster> GetPosters(MovieDbProvider.Images images, IHasImages item)
+ private IEnumerable<MovieDbProvider.Poster> GetPosters(MovieDbProvider.Images images)
{
return images.posters ?? new List<MovieDbProvider.Poster>();
}
@@ -130,9 +129,8 @@ namespace MediaBrowser.Providers.Movies
/// Gets the backdrops.
/// </summary>
/// <param name="images">The images.</param>
- /// <param name="item">The item.</param>
/// <returns>IEnumerable{MovieDbProvider.Backdrop}.</returns>
- private IEnumerable<MovieDbProvider.Backdrop> GetBackdrops(MovieDbProvider.Images images, IHasImages item)
+ private IEnumerable<MovieDbProvider.Backdrop> GetBackdrops(MovieDbProvider.Images images)
{
var eligibleBackdrops = images.backdrops == null ? new List<MovieDbProvider.Backdrop>() :
images.backdrops
@@ -147,10 +145,14 @@ namespace MediaBrowser.Providers.Movies
/// </summary>
/// <param name="item">The item.</param>
/// <param name="jsonSerializer">The json serializer.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{MovieImages}.</returns>
- private MovieDbProvider.Images FetchImages(IHasImages item, IJsonSerializer jsonSerializer)
+ private async Task<MovieDbProvider.Images> FetchImages(BaseItem item, IJsonSerializer jsonSerializer,
+ CancellationToken cancellationToken)
{
- var path = MovieDbProvider.Current.GetDataFilePath((BaseItem)item);
+ await MovieDbProvider.Current.EnsureMovieInfo(item, cancellationToken).ConfigureAwait(false);
+
+ var path = MovieDbProvider.Current.GetDataFilePath(item);
if (!string.IsNullOrEmpty(path))
{
diff --git a/MediaBrowser.Providers/Movies/ManualMovieDbPersonImageProvider.cs b/MediaBrowser.Providers/Movies/ManualMovieDbPersonImageProvider.cs
index 453284751c..4d3a5baac1 100644
--- a/MediaBrowser.Providers/Movies/ManualMovieDbPersonImageProvider.cs
+++ b/MediaBrowser.Providers/Movies/ManualMovieDbPersonImageProvider.cs
@@ -52,7 +52,7 @@ namespace MediaBrowser.Providers.Movies
if (!string.IsNullOrEmpty(id))
{
- await MovieDbPersonProvider.Current.DownloadPersonInfoIfNeeded(id, cancellationToken).ConfigureAwait(false);
+ await MovieDbPersonProvider.Current.EnsurePersonInfo(id, cancellationToken).ConfigureAwait(false);
var dataFilePath = MovieDbPersonProvider.GetPersonDataFilePath(_config.ApplicationPaths, id);
diff --git a/MediaBrowser.Providers/Movies/MovieDbPersonProvider.cs b/MediaBrowser.Providers/Movies/MovieDbPersonProvider.cs
index c16c504125..70ad6611a1 100644
--- a/MediaBrowser.Providers/Movies/MovieDbPersonProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbPersonProvider.cs
@@ -235,7 +235,7 @@ namespace MediaBrowser.Providers.Movies
/// <returns>Task.</returns>
private async Task FetchInfo(Person person, string id, bool isForcedRefresh, CancellationToken cancellationToken)
{
- await DownloadPersonInfoIfNeeded(id, cancellationToken).ConfigureAwait(false);
+ await EnsurePersonInfo(id, cancellationToken).ConfigureAwait(false);
if (isForcedRefresh || !HasAltMeta(person))
{
@@ -249,7 +249,7 @@ namespace MediaBrowser.Providers.Movies
}
}
- internal async Task DownloadPersonInfoIfNeeded(string id, CancellationToken cancellationToken)
+ internal async Task EnsurePersonInfo(string id, CancellationToken cancellationToken)
{
var personDataPath = GetPersonDataPath(ConfigurationManager.ApplicationPaths, id);
diff --git a/MediaBrowser.Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
index fed1b444e8..8dd64fd14c 100644
--- a/MediaBrowser.Providers/Movies/MovieDbProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
@@ -558,6 +558,31 @@ namespace MediaBrowser.Providers.Movies
JsonSerializer.SerializeToFile(mainResult, dataFilePath);
}
+ internal Task EnsureMovieInfo(BaseItem item, CancellationToken cancellationToken)
+ {
+ var path = GetDataFilePath(item);
+
+ var fileInfo = _fileSystem.GetFileSystemInfo(path);
+
+ if (fileInfo.Exists)
+ {
+ // If it's recent or automatic updates are enabled, don't re-download
+ if (ConfigurationManager.Configuration.EnableTmdbUpdates || (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(fileInfo)).TotalDays <= 7)
+ {
+ return Task.FromResult(true);
+ }
+ }
+
+ var id = item.GetProviderId(MetadataProviders.Tmdb);
+
+ if (string.IsNullOrEmpty(id))
+ {
+ return Task.FromResult(true);
+ }
+
+ return DownloadMovieInfo(id, item is BoxSet, item.GetPreferredMetadataLanguage(), cancellationToken);
+ }
+
/// <summary>
/// Gets the data file path.
/// </summary>
@@ -575,7 +600,7 @@ namespace MediaBrowser.Providers.Movies
return GetDataFilePath(item is BoxSet, id, item.GetPreferredMetadataLanguage());
}
- internal string GetDataFilePath(bool isBoxset, string tmdbId, string preferredLanguage)
+ private string GetDataFilePath(bool isBoxset, string tmdbId, string preferredLanguage)
{
var path = GetMovieDataPath(ConfigurationManager.ApplicationPaths, isBoxset, tmdbId);
diff --git a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs
index 291d2ff4dd..d9a367e2cc 100644
--- a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs
+++ b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs
@@ -69,7 +69,7 @@ namespace MediaBrowser.Providers.Movies
/// <returns>Task.</returns>
public async Task Run(IProgress<double> progress, CancellationToken cancellationToken)
{
- if (!_config.Configuration.EnableInternetProviders)
+ if (!_config.Configuration.EnableInternetProviders && !_config.Configuration.EnableTmdbUpdates)
{
progress.Report(100);
return;