mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 05:47:14 -04:00
update configuration for virtual episodes
This commit is contained in:
parent
8a5f160da6
commit
6c1c163995
@ -357,7 +357,10 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
{
|
{
|
||||||
var path = Path;
|
var path = Path;
|
||||||
|
|
||||||
if (LocationType == LocationType.Remote || LocationType == LocationType.Virtual)
|
var locationType = LocationType;
|
||||||
|
|
||||||
|
if (locationType == LocationType.Remote ||
|
||||||
|
locationType == LocationType.Virtual)
|
||||||
{
|
{
|
||||||
return new ItemResolveArgs(ConfigurationManager.ApplicationPaths, LibraryManager);
|
return new ItemResolveArgs(ConfigurationManager.ApplicationPaths, LibraryManager);
|
||||||
}
|
}
|
||||||
@ -1720,6 +1723,14 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
throw new ArgumentNullException("imagePath");
|
throw new ArgumentNullException("imagePath");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var locationType = LocationType;
|
||||||
|
|
||||||
|
if (locationType == LocationType.Remote ||
|
||||||
|
locationType == LocationType.Virtual)
|
||||||
|
{
|
||||||
|
return File.GetLastWriteTimeUtc(imagePath);
|
||||||
|
}
|
||||||
|
|
||||||
var metaFileEntry = ResolveArgs.GetMetaFileByPath(imagePath);
|
var metaFileEntry = ResolveArgs.GetMetaFileByPath(imagePath);
|
||||||
|
|
||||||
// If we didn't the metafile entry, check the Season
|
// If we didn't the metafile entry, check the Season
|
||||||
|
@ -796,7 +796,7 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
|
|
||||||
foreach (var tuple in list)
|
foreach (var tuple in list)
|
||||||
{
|
{
|
||||||
if (tasks.Count > 5)
|
if (tasks.Count > 7)
|
||||||
{
|
{
|
||||||
await Task.WhenAll(tasks).ConfigureAwait(false);
|
await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
@ -1347,7 +1347,12 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (ResolveArgs.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase))
|
if (LocationType == LocationType.Remote && string.Equals(Path, path, StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (LocationType != LocationType.Virtual && ResolveArgs.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -1358,8 +1363,13 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
}
|
}
|
||||||
|
|
||||||
//this should be functionally equivilent to what was here since it is IEnum and works on a thread-safe copy
|
//this should be functionally equivilent to what was here since it is IEnum and works on a thread-safe copy
|
||||||
return RecursiveChildren.FirstOrDefault(i =>
|
return RecursiveChildren.Where(i => i.LocationType != LocationType.Virtual).FirstOrDefault(i =>
|
||||||
{
|
{
|
||||||
|
if (i.LocationType == LocationType.Remote)
|
||||||
|
{
|
||||||
|
return string.Equals(i.Path, path, StringComparison.OrdinalIgnoreCase);
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return i.ResolveArgs.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase);
|
return i.ResolveArgs.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase);
|
||||||
|
@ -210,17 +210,6 @@ namespace MediaBrowser.Model.Configuration
|
|||||||
|
|
||||||
public bool EnableVideoImageExtraction { get; set; }
|
public bool EnableVideoImageExtraction { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets a value indicating whether [create virtual missing episodes].
|
|
||||||
/// </summary>
|
|
||||||
/// <value><c>true</c> if [create virtual missing episodes]; otherwise, <c>false</c>.</value>
|
|
||||||
public bool CreateVirtualMissingEpisodes { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets a value indicating whether [create virtual future episodes].
|
|
||||||
/// </summary>
|
|
||||||
/// <value><c>true</c> if [create virtual future episodes]; otherwise, <c>false</c>.</value>
|
|
||||||
public bool CreateVirtualFutureEpisodes { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the image saving convention.
|
/// Gets or sets the image saving convention.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -142,12 +142,9 @@ namespace MediaBrowser.Providers.TV
|
|||||||
|
|
||||||
var hasNewEpisodes = false;
|
var hasNewEpisodes = false;
|
||||||
|
|
||||||
if (_config.Configuration.CreateVirtualMissingEpisodes || _config.Configuration.CreateVirtualFutureEpisodes)
|
if (_config.Configuration.EnableInternetProviders)
|
||||||
{
|
{
|
||||||
if (_config.Configuration.EnableInternetProviders)
|
hasNewEpisodes = await AddMissingEpisodes(series, seriesDataPath, episodeLookup, cancellationToken).ConfigureAwait(false);
|
||||||
{
|
|
||||||
hasNewEpisodes = await AddMissingEpisodes(series, seriesDataPath, episodeLookup, cancellationToken).ConfigureAwait(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasNewEpisodes || anySeasonsRemoved || anyEpisodesRemoved)
|
if (hasNewEpisodes || anySeasonsRemoved || anyEpisodesRemoved)
|
||||||
@ -202,7 +199,7 @@ namespace MediaBrowser.Providers.TV
|
|||||||
}
|
}
|
||||||
var now = DateTime.UtcNow;
|
var now = DateTime.UtcNow;
|
||||||
|
|
||||||
if (airDate.Value < now && _config.Configuration.CreateVirtualMissingEpisodes)
|
if (airDate.Value < now)
|
||||||
{
|
{
|
||||||
// tvdb has a lot of nearly blank episodes
|
// tvdb has a lot of nearly blank episodes
|
||||||
_logger.Info("Creating virtual missing episode {0} {1}x{2}", series.Name, tuple.Item1, tuple.Item2);
|
_logger.Info("Creating virtual missing episode {0} {1}x{2}", series.Name, tuple.Item1, tuple.Item2);
|
||||||
@ -211,7 +208,7 @@ namespace MediaBrowser.Providers.TV
|
|||||||
|
|
||||||
hasChanges = true;
|
hasChanges = true;
|
||||||
}
|
}
|
||||||
else if (airDate.Value > now && _config.Configuration.CreateVirtualFutureEpisodes)
|
else if (airDate.Value > now)
|
||||||
{
|
{
|
||||||
// tvdb has a lot of nearly blank episodes
|
// tvdb has a lot of nearly blank episodes
|
||||||
_logger.Info("Creating virtual future episode {0} {1}x{2}", series.Name, tuple.Item1, tuple.Item2);
|
_logger.Info("Creating virtual future episode {0} {1}x{2}", series.Name, tuple.Item1, tuple.Item2);
|
||||||
|
@ -1166,10 +1166,8 @@ namespace MediaBrowser.Server.Implementations.Dto
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var metaFileEntry = item.ResolveArgs.GetMetaFileByPath(path);
|
|
||||||
|
|
||||||
// See if we can avoid a file system lookup by looking for the file in ResolveArgs
|
// See if we can avoid a file system lookup by looking for the file in ResolveArgs
|
||||||
var dateModified = metaFileEntry == null ? File.GetLastWriteTimeUtc(path) : metaFileEntry.LastWriteTimeUtc;
|
var dateModified = item.GetImageDateModified(path);
|
||||||
|
|
||||||
ImageSize size;
|
ImageSize size;
|
||||||
|
|
||||||
|
@ -482,7 +482,6 @@ namespace MediaBrowser.WebDashboard.Api
|
|||||||
"mediaplayer.js",
|
"mediaplayer.js",
|
||||||
"metadataconfigurationpage.js",
|
"metadataconfigurationpage.js",
|
||||||
"metadataimagespage.js",
|
"metadataimagespage.js",
|
||||||
"metadatatv.js",
|
|
||||||
"moviegenres.js",
|
"moviegenres.js",
|
||||||
"movies.js",
|
"movies.js",
|
||||||
"moviepeople.js",
|
"moviepeople.js",
|
||||||
|
@ -332,15 +332,9 @@
|
|||||||
<Content Include="dashboard-ui\gamesystems.html">
|
<Content Include="dashboard-ui\gamesystems.html">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="dashboard-ui\metadatatv.html">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="dashboard-ui\scripts\episodes.js">
|
<Content Include="dashboard-ui\scripts\episodes.js">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="dashboard-ui\scripts\metadatatv.js">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="dashboard-ui\scripts\tvupcoming.js">
|
<Content Include="dashboard-ui\scripts\tvupcoming.js">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
Loading…
Reference in New Issue
Block a user