mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-30 03:13:17 +01:00
fix directory not found error in episode organization
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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" />
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -346,7 +346,7 @@ namespace MediaBrowser.Providers.Music
|
||||
{
|
||||
CancellationToken = cancellationToken,
|
||||
Url = url,
|
||||
ResourcePool = FanartArtistProvider.FanArtResourcePool
|
||||
ResourcePool = FanartArtistProvider.Current.FanArtResourcePool
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace MediaBrowser.Providers.Music
|
||||
|
||||
public bool Supports(IHasProviderIds item)
|
||||
{
|
||||
return item is Audio || item is MusicAlbum;
|
||||
return item is Audio;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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")]
|
||||
//
|
||||
@@ -53,6 +53,10 @@ namespace MediaBrowser.Providers.Savers
|
||||
"MusicBrainzAlbumArtistId",
|
||||
"MusicBrainzAlbumId",
|
||||
"MusicBrainzReleaseGroupId",
|
||||
|
||||
// Old - not used anymore
|
||||
"MusicbrainzId",
|
||||
|
||||
"Overview",
|
||||
"Persons",
|
||||
"PlotKeywords",
|
||||
|
||||
@@ -264,7 +264,7 @@ namespace MediaBrowser.Providers.TV
|
||||
{
|
||||
CancellationToken = cancellationToken,
|
||||
Url = url,
|
||||
ResourcePool = FanartArtistProvider.FanArtResourcePool
|
||||
ResourcePool = FanartArtistProvider.Current.FanArtResourcePool
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user