update configuration for virtual episodes

pull/702/head
Luke Pulverenti 11 years ago
parent 8a5f160da6
commit 6c1c163995

@ -357,7 +357,10 @@ namespace MediaBrowser.Controller.Entities
{
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);
}
@ -1499,7 +1502,7 @@ namespace MediaBrowser.Controller.Entities
BackdropImagePaths.Remove(file);
RemoveImageSourceForPath(file);
// Delete the source file
DeleteImagePath(file);
}
@ -1720,6 +1723,14 @@ namespace MediaBrowser.Controller.Entities
throw new ArgumentNullException("imagePath");
}
var locationType = LocationType;
if (locationType == LocationType.Remote ||
locationType == LocationType.Virtual)
{
return File.GetLastWriteTimeUtc(imagePath);
}
var metaFileEntry = ResolveArgs.GetMetaFileByPath(imagePath);
// If we didn't the metafile entry, check the Season

@ -796,7 +796,7 @@ namespace MediaBrowser.Controller.Entities
foreach (var tuple in list)
{
if (tasks.Count > 5)
if (tasks.Count > 7)
{
await Task.WhenAll(tasks).ConfigureAwait(false);
}
@ -1347,7 +1347,12 @@ namespace MediaBrowser.Controller.Entities
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;
}
@ -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
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
{
return i.ResolveArgs.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase);

@ -210,17 +210,6 @@ namespace MediaBrowser.Model.Configuration
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>
/// Gets or sets the image saving convention.
/// </summary>

@ -142,12 +142,9 @@ namespace MediaBrowser.Providers.TV
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)
@ -202,7 +199,7 @@ namespace MediaBrowser.Providers.TV
}
var now = DateTime.UtcNow;
if (airDate.Value < now && _config.Configuration.CreateVirtualMissingEpisodes)
if (airDate.Value < now)
{
// tvdb has a lot of nearly blank episodes
_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;
}
else if (airDate.Value > now && _config.Configuration.CreateVirtualFutureEpisodes)
else if (airDate.Value > now)
{
// tvdb has a lot of nearly blank episodes
_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;
}
var metaFileEntry = item.ResolveArgs.GetMetaFileByPath(path);
// 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;

@ -482,7 +482,6 @@ namespace MediaBrowser.WebDashboard.Api
"mediaplayer.js",
"metadataconfigurationpage.js",
"metadataimagespage.js",
"metadatatv.js",
"moviegenres.js",
"movies.js",
"moviepeople.js",

@ -332,15 +332,9 @@
<Content Include="dashboard-ui\gamesystems.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\metadatatv.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\scripts\episodes.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\scripts\metadatatv.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\scripts\tvupcoming.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

Loading…
Cancel
Save