update configuration for virtual episodes

This commit is contained in:
Luke Pulverenti 2013-10-25 10:18:53 -04:00
parent 8a5f160da6
commit 6c1c163995
7 changed files with 31 additions and 33 deletions

View file

@ -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);
} }
@ -1499,7 +1502,7 @@ namespace MediaBrowser.Controller.Entities
BackdropImagePaths.Remove(file); BackdropImagePaths.Remove(file);
RemoveImageSourceForPath(file); RemoveImageSourceForPath(file);
// Delete the source file // Delete the source file
DeleteImagePath(file); DeleteImagePath(file);
} }
@ -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

View file

@ -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);

View file

@ -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>

View file

@ -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);

View file

@ -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;

View file

@ -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",

View file

@ -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>