diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-25 10:40:16 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-25 10:40:16 -0500 |
| commit | aef805efb9e1655978bb1a71990f1060a3dcf768 (patch) | |
| tree | b1ef969377e2337d17cc2feb9a83ea774b12bb63 /MediaBrowser.Providers | |
| parent | 7497fe9554482fcdf78ed49c436edba0b20c8350 (diff) | |
fix directory not found error in episode organization
Diffstat (limited to 'MediaBrowser.Providers')
15 files changed, 44 insertions, 24 deletions
diff --git a/MediaBrowser.Providers/All/LocalImageProvider.cs b/MediaBrowser.Providers/All/LocalImageProvider.cs index 354b081cf5..dbdaa87a13 100644 --- a/MediaBrowser.Providers/All/LocalImageProvider.cs +++ b/MediaBrowser.Providers/All/LocalImageProvider.cs @@ -172,7 +172,7 @@ namespace MediaBrowser.Providers.All AddImage(files, images, imagePrefix + "movie", ImageType.Primary); } - if (string.IsNullOrEmpty(item.Path)) + if (!string.IsNullOrEmpty(item.Path)) { var name = Path.GetFileNameWithoutExtension(item.Path); diff --git a/MediaBrowser.Providers/Manager/ItemImageProvider.cs b/MediaBrowser.Providers/Manager/ItemImageProvider.cs index 7610f72490..a0ab069d3d 100644 --- a/MediaBrowser.Providers/Manager/ItemImageProvider.cs +++ b/MediaBrowser.Providers/Manager/ItemImageProvider.cs @@ -60,8 +60,8 @@ namespace MediaBrowser.Providers.Manager var providerIds = new List<Guid>(); // In order to avoid duplicates, only download these if there are none already - var backdropLimit = item.HasImage(ImageType.Backdrop) ? 0 : savedOptions.GetLimit(ImageType.Backdrop); - var screenshotLimit = item.HasImage(ImageType.Screenshot) ? 0 : savedOptions.GetLimit(ImageType.Screenshot); + var backdropLimit = savedOptions.GetLimit(ImageType.Backdrop); + var screenshotLimit = savedOptions.GetLimit(ImageType.Screenshot); foreach (var provider in providers) { @@ -362,9 +362,25 @@ namespace MediaBrowser.Providers.Manager { var response = await provider.GetImageResponse(url, cancellationToken).ConfigureAwait(false); + // If there's already an image of the same size, skip it + if (response.ContentLength.HasValue) + { + try + { + if (item.GetImages(imageType).Any(i => new FileInfo(i.Path).Length == response.ContentLength.Value)) + { + response.Content.Dispose(); + continue; + } + } + catch (IOException ex) + { + _logger.ErrorException("Error examining images", ex); + } + } + await _providerManager.SaveImage(item, response.Content, response.ContentType, imageType, null, cancellationToken).ConfigureAwait(false); result.UpdateType = result.UpdateType | ItemUpdateType.ImageUpdate; - break; } catch (HttpException ex) { diff --git a/MediaBrowser.Providers/MediaBrowser.Providers.csproj b/MediaBrowser.Providers/MediaBrowser.Providers.csproj index 393aae6fe2..a5ea1b64b2 100644 --- a/MediaBrowser.Providers/MediaBrowser.Providers.csproj +++ b/MediaBrowser.Providers/MediaBrowser.Providers.csproj @@ -66,6 +66,9 @@ </Reference> </ItemGroup> <ItemGroup> + <Compile Include="..\SharedVersion.cs"> + <Link>Properties\SharedVersion.cs</Link> + </Compile> <Compile Include="AdultVideos\AdultVideoMetadataService.cs" /> <Compile Include="AdultVideos\AdultVideoXmlProvider.cs" /> <Compile Include="All\InternalMetadataFolderImageProvider.cs" /> diff --git a/MediaBrowser.Providers/Movies/FanartMovieImageProvider.cs b/MediaBrowser.Providers/Movies/FanartMovieImageProvider.cs index 730d66cc21..9182587b18 100644 --- a/MediaBrowser.Providers/Movies/FanartMovieImageProvider.cs +++ b/MediaBrowser.Providers/Movies/FanartMovieImageProvider.cs @@ -334,7 +334,7 @@ namespace MediaBrowser.Providers.Movies { CancellationToken = cancellationToken, Url = url, - ResourcePool = FanartArtistProvider.FanArtResourcePool + ResourcePool = FanartArtistProvider.Current.FanArtResourcePool }); } @@ -410,7 +410,7 @@ namespace MediaBrowser.Providers.Movies using (var response = await _httpClient.Get(new HttpRequestOptions { Url = url, - ResourcePool = FanartArtistProvider.FanArtResourcePool, + ResourcePool = FanartArtistProvider.Current.FanArtResourcePool, CancellationToken = cancellationToken }).ConfigureAwait(false)) diff --git a/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs b/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs index 93db4f5b49..ccab30bc6c 100644 --- a/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtAlbumProvider.cs @@ -346,7 +346,7 @@ namespace MediaBrowser.Providers.Music { CancellationToken = cancellationToken, Url = url, - ResourcePool = FanartArtistProvider.FanArtResourcePool + ResourcePool = FanartArtistProvider.Current.FanArtResourcePool }); } diff --git a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs index b5557d6f06..270219a2bc 100644 --- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs +++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs @@ -22,7 +22,7 @@ namespace MediaBrowser.Providers.Music { public class FanartArtistProvider : IRemoteImageProvider, IHasChangeMonitor, IHasOrder { - internal static readonly SemaphoreSlim FanArtResourcePool = new SemaphoreSlim(3, 3); + internal readonly SemaphoreSlim FanArtResourcePool = new SemaphoreSlim(3, 3); internal const string ApiKey = "5c6b04c68e904cfed1e6cbc9a9e683d4"; private const string FanArtBaseUrl = "http://api.fanart.tv/webservice/artist/{0}/{1}/xml/all/1/1"; diff --git a/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs b/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs index 5258860553..4c6706287c 100644 --- a/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs +++ b/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs @@ -110,7 +110,7 @@ namespace MediaBrowser.Providers.Music Url = string.Format(UpdatesUrl, FanartArtistProvider.ApiKey, lastUpdateTime), CancellationToken = cancellationToken, EnableHttpCompression = true, - ResourcePool = FanartArtistProvider.FanArtResourcePool + ResourcePool = FanartArtistProvider.Current.FanArtResourcePool }).ConfigureAwait(false)) { diff --git a/MediaBrowser.Providers/Music/MusicExternalIds.cs b/MediaBrowser.Providers/Music/MusicExternalIds.cs index e7340d0183..a25ab9deb2 100644 --- a/MediaBrowser.Providers/Music/MusicExternalIds.cs +++ b/MediaBrowser.Providers/Music/MusicExternalIds.cs @@ -46,7 +46,7 @@ namespace MediaBrowser.Providers.Music public bool Supports(IHasProviderIds item) { - return item is Audio || item is MusicAlbum; + return item is Audio; } } diff --git a/MediaBrowser.Providers/Omdb/OmdbProvider.cs b/MediaBrowser.Providers/Omdb/OmdbProvider.cs index 07fee988c6..75f9cf06d2 100644 --- a/MediaBrowser.Providers/Omdb/OmdbProvider.cs +++ b/MediaBrowser.Providers/Omdb/OmdbProvider.cs @@ -12,7 +12,7 @@ namespace MediaBrowser.Providers.Omdb { public class OmdbProvider { - internal readonly SemaphoreSlim ResourcePool = new SemaphoreSlim(1, 1); + private static readonly SemaphoreSlim ResourcePool = new SemaphoreSlim(1, 1); private readonly IJsonSerializer _jsonSerializer; private readonly IHttpClient _httpClient; private readonly CultureInfo _usCulture = new CultureInfo("en-US"); diff --git a/MediaBrowser.Providers/Properties/AssemblyInfo.cs b/MediaBrowser.Providers/Properties/AssemblyInfo.cs index d69df15810..a110115693 100644 --- a/MediaBrowser.Providers/Properties/AssemblyInfo.cs +++ b/MediaBrowser.Providers/Properties/AssemblyInfo.cs @@ -28,9 +28,4 @@ using System.Runtime.InteropServices; // Minor Version // Build Number // Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +//
\ No newline at end of file diff --git a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs index eed91dfaa1..b8ab55db08 100644 --- a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs +++ b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs @@ -53,6 +53,10 @@ namespace MediaBrowser.Providers.Savers "MusicBrainzAlbumArtistId", "MusicBrainzAlbumId", "MusicBrainzReleaseGroupId", + + // Old - not used anymore + "MusicbrainzId", + "Overview", "Persons", "PlotKeywords", diff --git a/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs index 908094bdd5..9c5d70e3d4 100644 --- a/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs +++ b/MediaBrowser.Providers/TV/FanArtSeasonProvider.cs @@ -264,7 +264,7 @@ namespace MediaBrowser.Providers.TV { CancellationToken = cancellationToken, Url = url, - ResourcePool = FanartArtistProvider.FanArtResourcePool + ResourcePool = FanartArtistProvider.Current.FanArtResourcePool }); } diff --git a/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs b/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs index 1b2530dba2..33100db730 100644 --- a/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs +++ b/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs @@ -111,7 +111,7 @@ namespace MediaBrowser.Providers.TV Url = string.Format(UpdatesUrl, FanartArtistProvider.ApiKey, lastUpdateTime), CancellationToken = cancellationToken, EnableHttpCompression = true, - ResourcePool = FanartArtistProvider.FanArtResourcePool + ResourcePool = FanartArtistProvider.Current.FanArtResourcePool }).ConfigureAwait(false)) { diff --git a/MediaBrowser.Providers/TV/FanartSeriesProvider.cs b/MediaBrowser.Providers/TV/FanartSeriesProvider.cs index b640e373bd..f8fee5e3d3 100644 --- a/MediaBrowser.Providers/TV/FanartSeriesProvider.cs +++ b/MediaBrowser.Providers/TV/FanartSeriesProvider.cs @@ -332,7 +332,7 @@ namespace MediaBrowser.Providers.TV { CancellationToken = cancellationToken, Url = url, - ResourcePool = FanartArtistProvider.FanArtResourcePool + ResourcePool = FanartArtistProvider.Current.FanArtResourcePool }); } @@ -414,7 +414,7 @@ namespace MediaBrowser.Providers.TV using (var response = await _httpClient.Get(new HttpRequestOptions { Url = url, - ResourcePool = FanartArtistProvider.FanArtResourcePool, + ResourcePool = FanartArtistProvider.Current.FanArtResourcePool, CancellationToken = cancellationToken }).ConfigureAwait(false)) diff --git a/MediaBrowser.Providers/TV/TvdbSeriesProvider.cs b/MediaBrowser.Providers/TV/TvdbSeriesProvider.cs index 920da9b10f..51eec86682 100644 --- a/MediaBrowser.Providers/TV/TvdbSeriesProvider.cs +++ b/MediaBrowser.Providers/TV/TvdbSeriesProvider.cs @@ -175,23 +175,25 @@ namespace MediaBrowser.Providers.TV var download = false; var automaticUpdatesEnabled = _config.Configuration.EnableTvDbUpdates; + const int cacheDays = 3; + var seriesFile = files.FirstOrDefault(i => string.Equals(seriesXmlFilename, i.Name, StringComparison.OrdinalIgnoreCase)); // No need to check age if automatic updates are enabled - if (seriesFile == null || !seriesFile.Exists || (!automaticUpdatesEnabled && (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(seriesFile)).TotalDays > 7)) + if (seriesFile == null || !seriesFile.Exists || (!automaticUpdatesEnabled && (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(seriesFile)).TotalDays > cacheDays)) { download = true; } var actorsXml = files.FirstOrDefault(i => string.Equals("actors.xml", i.Name, StringComparison.OrdinalIgnoreCase)); // No need to check age if automatic updates are enabled - if (actorsXml == null || !actorsXml.Exists || (!automaticUpdatesEnabled && (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(actorsXml)).TotalDays > 7)) + if (actorsXml == null || !actorsXml.Exists || (!automaticUpdatesEnabled && (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(actorsXml)).TotalDays > cacheDays)) { download = true; } var bannersXml = files.FirstOrDefault(i => string.Equals("banners.xml", i.Name, StringComparison.OrdinalIgnoreCase)); // No need to check age if automatic updates are enabled - if (bannersXml == null || !bannersXml.Exists || (!automaticUpdatesEnabled && (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(bannersXml)).TotalDays > 7)) + if (bannersXml == null || !bannersXml.Exists || (!automaticUpdatesEnabled && (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(bannersXml)).TotalDays > cacheDays)) { download = true; } |
