prevent xml savers from triggering xml providers

pull/702/head
Luke Pulverenti 11 years ago
parent 5f0d8000a5
commit 9f4f2281cd

@ -154,6 +154,8 @@ namespace MediaBrowser.Controller.Entities
/// <value>The date modified.</value>
public DateTime DateModified { get; set; }
public DateTime DateLastSaved { get; set; }
/// <summary>
/// The logger
/// </summary>
@ -827,7 +829,7 @@ namespace MediaBrowser.Controller.Entities
/// <returns>true if a provider reports we changed</returns>
public virtual async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true, bool resetResolveArgs = true)
{
if (resetResolveArgs || ResolveArgs == null)
if (resetResolveArgs)
{
// Reload this
ResetResolveArgs();

@ -23,42 +23,61 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{175A9388-F352-4586-A6B4-070DED62B644}.Debug|x86.ActiveCfg = Debug|x86
{175A9388-F352-4586-A6B4-070DED62B644}.Debug|x86.Build.0 = Debug|x86
{175A9388-F352-4586-A6B4-070DED62B644}.Release|Any CPU.ActiveCfg = Release|Any CPU
{175A9388-F352-4586-A6B4-070DED62B644}.Release|Any CPU.Build.0 = Release|Any CPU
{175A9388-F352-4586-A6B4-070DED62B644}.Release|x86.ActiveCfg = Release|x86
{175A9388-F352-4586-A6B4-070DED62B644}.Release|x86.Build.0 = Release|x86
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Debug|x86.ActiveCfg = Debug|x86
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Debug|x86.Build.0 = Debug|x86
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|x86.ActiveCfg = Release|x86
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|x86.Build.0 = Release|x86
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|Any CPU.Build.0 = Release|Any CPU
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|x86.ActiveCfg = Release|Any CPU
{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}.Release|x86.Build.0 = Release|Any CPU
{2E781478-814D-4A48-9D80-BFF206441A65}.Debug|x86.ActiveCfg = Debug|Any CPU
{2E781478-814D-4A48-9D80-BFF206441A65}.Debug|x86.Build.0 = Debug|Any CPU
{2E781478-814D-4A48-9D80-BFF206441A65}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2E781478-814D-4A48-9D80-BFF206441A65}.Release|Any CPU.Build.0 = Release|Any CPU
{2E781478-814D-4A48-9D80-BFF206441A65}.Release|x86.ActiveCfg = Release|Any CPU
{2E781478-814D-4A48-9D80-BFF206441A65}.Release|x86.Build.0 = Release|Any CPU
{442B5058-DCAF-4263-BB6A-F21E31120A1B}.Debug|x86.ActiveCfg = Debug|Any CPU
{442B5058-DCAF-4263-BB6A-F21E31120A1B}.Debug|x86.Build.0 = Debug|Any CPU
{442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|Any CPU.Build.0 = Release|Any CPU
{442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|x86.ActiveCfg = Release|Any CPU
{442B5058-DCAF-4263-BB6A-F21E31120A1B}.Release|x86.Build.0 = Release|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Debug|x86.ActiveCfg = Debug|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Debug|x86.Build.0 = Debug|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Release|Any CPU.Build.0 = Release|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Release|x86.ActiveCfg = Release|Any CPU
{4FD51AC5-2C16-4308-A993-C3A84F3B4582}.Release|x86.Build.0 = Release|Any CPU
{5624B7B5-B5A7-41D8-9F10-CC5611109619}.Debug|x86.ActiveCfg = Debug|Any CPU
{5624B7B5-B5A7-41D8-9F10-CC5611109619}.Debug|x86.Build.0 = Debug|Any CPU
{5624B7B5-B5A7-41D8-9F10-CC5611109619}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5624B7B5-B5A7-41D8-9F10-CC5611109619}.Release|Any CPU.Build.0 = Release|Any CPU
{5624B7B5-B5A7-41D8-9F10-CC5611109619}.Release|x86.ActiveCfg = Release|Any CPU
{5624B7B5-B5A7-41D8-9F10-CC5611109619}.Release|x86.Build.0 = Release|Any CPU
{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}.Debug|x86.ActiveCfg = Debug|Any CPU
{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}.Debug|x86.Build.0 = Debug|Any CPU
{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}.Release|Any CPU.Build.0 = Release|Any CPU
{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}.Release|x86.ActiveCfg = Release|Any CPU
{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}.Release|x86.Build.0 = Release|Any CPU
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Debug|x86.ActiveCfg = Debug|Any CPU
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Debug|x86.Build.0 = Debug|Any CPU
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Release|Any CPU.Build.0 = Release|Any CPU
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Release|x86.ActiveCfg = Release|Any CPU
{9142EEFA-7570-41E1-BFCC-468BB571AF2F}.Release|x86.Build.0 = Release|Any CPU
{C4D2573A-3FD3-441F-81AF-174AC4CD4E1D}.Debug|x86.ActiveCfg = Debug|Any CPU
{C4D2573A-3FD3-441F-81AF-174AC4CD4E1D}.Debug|x86.Build.0 = Debug|Any CPU
{C4D2573A-3FD3-441F-81AF-174AC4CD4E1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4D2573A-3FD3-441F-81AF-174AC4CD4E1D}.Release|Any CPU.Build.0 = Release|Any CPU
{C4D2573A-3FD3-441F-81AF-174AC4CD4E1D}.Release|x86.ActiveCfg = Release|Any CPU
{C4D2573A-3FD3-441F-81AF-174AC4CD4E1D}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection

@ -1,17 +1,13 @@
<Properties>
<MonoDevelop.Ide.Workspace ActiveConfiguration="Release|x86" />
<MonoDevelop.Ide.Workbench ActiveDocument="MediaBrowser.ServerApplication\EntryPoints\StartupWizard.cs">
<MonoDevelop.Ide.Workspace ActiveConfiguration="Release" />
<MonoDevelop.Ide.Workbench ActiveDocument="MediaBrowser.Server.Mono\app.config">
<Files>
<File FileName="MediaBrowser.Server.Mono\Program.cs" Line="13" Column="1" />
<File FileName="MediaBrowser.ServerApplication\EntryPoints\StartupWizard.cs" Line="32" Column="23" />
<File FileName="MediaBrowser.Server.Mono\app.config" Line="3" Column="19" />
</Files>
<Pads>
<Pad Id="ProjectPad">
<State expanded="True">
<Node name="MediaBrowser.Server.Mono" expanded="True" selected="True">
<Node name="References" expanded="True" />
<Node name="EntryPoints" expanded="True" />
</Node>
<State expanded="True" selected="True">
<Node name="MediaBrowser.Server.Implementations" expanded="True" />
</State>
</Pad>
<Pad Id="ClassPad">
@ -24,8 +20,6 @@
</MonoDevelop.Ide.Workbench>
<MonoDevelop.Ide.DebuggingService.Breakpoints>
<BreakpointStore>
<Breakpoint file="D:\Development\MediaBrowser\MediaBrowser.Server.Mono\Native\NativeApp.cs" line="23" column="1" />
<Breakpoint file="D:\Development\MediaBrowser\MediaBrowser.Server.Mono\Native\NativeApp.cs" line="15" column="1" />
<Breakpoint file="D:\Development\MediaBrowser\MediaBrowser.Common.Implementations\HttpClientManager\HttpClientManager.cs" line="477" column="17" />
</BreakpointStore>
</MonoDevelop.Ide.DebuggingService.Breakpoints>

@ -1,7 +1,6 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
@ -17,14 +16,12 @@ namespace MediaBrowser.Providers
/// </summary>
public class FolderProviderFromXml : BaseMetadataProvider
{
public static FolderProviderFromXml Current;
private readonly IFileSystem _fileSystem;
public FolderProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem)
: base(logManager, configurationManager)
{
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -56,7 +53,7 @@ namespace MediaBrowser.Providers
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -1,7 +1,6 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using MediaBrowser.Providers.Savers;
@ -48,7 +47,7 @@ namespace MediaBrowser.Providers.Games
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -1,7 +1,6 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
@ -14,14 +13,12 @@ namespace MediaBrowser.Providers.Games
{
public class GameSystemProviderFromXml : BaseMetadataProvider
{
internal static GameSystemProviderFromXml Current { get; private set; }
private readonly IFileSystem _fileSystem;
public GameSystemProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem)
: base(logManager, configurationManager)
{
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -53,7 +50,7 @@ namespace MediaBrowser.Providers.Games
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -13,14 +13,12 @@ namespace MediaBrowser.Providers.LiveTv
{
class ChannelProviderFromXml : BaseMetadataProvider
{
internal static ChannelProviderFromXml Current { get; private set; }
private readonly IFileSystem _fileSystem;
public ChannelProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem)
: base(logManager, configurationManager)
{
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -52,7 +50,7 @@ namespace MediaBrowser.Providers.LiveTv
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -18,14 +18,12 @@ namespace MediaBrowser.Providers.Movies
/// </summary>
public class BoxSetProviderFromXml : BaseMetadataProvider
{
public static BoxSetProviderFromXml Current;
private readonly IFileSystem _fileSystem;
public BoxSetProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem)
: base(logManager, configurationManager)
{
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -57,7 +55,7 @@ namespace MediaBrowser.Providers.Movies
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -19,7 +19,6 @@ namespace MediaBrowser.Providers.Movies
/// </summary>
public class MovieProviderFromXml : BaseMetadataProvider
{
internal static MovieProviderFromXml Current { get; private set; }
private readonly IItemRepository _itemRepo;
private readonly IFileSystem _fileSystem;
@ -28,7 +27,6 @@ namespace MediaBrowser.Providers.Movies
{
_itemRepo = itemRepo;
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -73,7 +71,7 @@ namespace MediaBrowser.Providers.Movies
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -1,7 +1,6 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using System;
@ -13,14 +12,12 @@ namespace MediaBrowser.Providers.Movies
{
class PersonProviderFromXml : BaseMetadataProvider
{
internal static PersonProviderFromXml Current { get; private set; }
private readonly IFileSystem _fileSystem;
public PersonProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem)
: base(logManager, configurationManager)
{
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -52,7 +49,7 @@ namespace MediaBrowser.Providers.Movies
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -14,14 +14,12 @@ namespace MediaBrowser.Providers.Music
{
class AlbumProviderFromXml : BaseMetadataProvider
{
public static AlbumProviderFromXml Current;
private readonly IFileSystem _fileSystem;
public AlbumProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem)
: base(logManager, configurationManager)
{
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -53,7 +51,7 @@ namespace MediaBrowser.Providers.Music
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -14,14 +14,12 @@ namespace MediaBrowser.Providers.Music
{
class ArtistProviderFromXml : BaseMetadataProvider
{
public static ArtistProviderFromXml Current;
private readonly IFileSystem _fileSystem;
public ArtistProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem)
: base(logManager, configurationManager)
{
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -53,7 +51,7 @@ namespace MediaBrowser.Providers.Music
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -59,9 +59,6 @@ namespace MediaBrowser.Providers.Savers
var xmlFilePath = GetSavePath(item);
XmlSaverHelpers.Save(builder, xmlFilePath, new List<string> { });
// Set last refreshed so that the provider doesn't trigger after the file save
AlbumProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -72,9 +72,6 @@ namespace MediaBrowser.Providers.Savers
var xmlFilePath = GetSavePath(item);
XmlSaverHelpers.Save(builder, xmlFilePath, new List<string> { });
// Set last refreshed so that the provider doesn't trigger after the file save
ArtistProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -59,8 +59,6 @@ namespace MediaBrowser.Providers.Savers
var xmlFilePath = GetSavePath(item);
XmlSaverHelpers.Save(builder, xmlFilePath, new List<string> { });
BoxSetProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -56,9 +56,6 @@ namespace MediaBrowser.Providers.Savers
XmlSaverHelpers.Save(builder, xmlFilePath, new List<string>
{
});
// Set last refreshed so that the provider doesn't trigger after the file save
ChannelProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -3,8 +3,6 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Providers.TV;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
@ -117,9 +115,6 @@ namespace MediaBrowser.Providers.Savers
"airsbefore_episode",
"airsbefore_season"
});
// Set last refreshed so that the provider doesn't trigger after the file save
EpisodeProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -4,7 +4,6 @@ using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
@ -78,8 +77,6 @@ namespace MediaBrowser.Providers.Savers
var xmlFilePath = GetSavePath(item);
XmlSaverHelpers.Save(builder, xmlFilePath, new List<string> { });
FolderProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -58,8 +58,6 @@ namespace MediaBrowser.Providers.Savers
var xmlFilePath = GetSavePath(item);
XmlSaverHelpers.Save(builder, xmlFilePath, new List<string> { });
GameSystemProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -98,9 +98,6 @@ namespace MediaBrowser.Providers.Savers
"NesBox",
"NesBoxRom"
});
// Set last refreshed so that the provider doesn't trigger after the file save
MovieProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
public string GetSavePath(BaseItem item)

@ -122,9 +122,6 @@ namespace MediaBrowser.Providers.Savers
"Album",
"TmdbCollectionName"
});
// Set last refreshed so that the provider doesn't trigger after the file save
MovieProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
public string GetSavePath(BaseItem item)

@ -64,9 +64,6 @@ namespace MediaBrowser.Providers.Savers
{
"PlaceOfBirth"
});
// Set last refreshed so that the provider doesn't trigger after the file save
PersonProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -2,8 +2,6 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
using MediaBrowser.Providers.TV;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
@ -59,8 +57,6 @@ namespace MediaBrowser.Providers.Savers
var xmlFilePath = GetSavePath(item);
XmlSaverHelpers.Save(builder, xmlFilePath, new List<string> { });
SeasonProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -3,8 +3,6 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using MediaBrowser.Providers.TV;
using System;
using System.Collections.Generic;
using System.IO;
using System.Security;
@ -119,9 +117,6 @@ namespace MediaBrowser.Providers.Savers
// Don't preserve old series node
"Series"
});
// Set last refreshed so that the provider doesn't trigger after the file save
SeriesProviderFromXml.Current.SetLastRefreshed(item, DateTime.UtcNow);
}
/// <summary>

@ -18,7 +18,6 @@ namespace MediaBrowser.Providers.TV
/// </summary>
public class EpisodeProviderFromXml : BaseMetadataProvider
{
internal static EpisodeProviderFromXml Current { get; private set; }
private readonly IItemRepository _itemRepo;
private readonly IFileSystem _fileSystem;
@ -27,7 +26,6 @@ namespace MediaBrowser.Providers.TV
{
_itemRepo = itemRepo;
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -78,7 +76,7 @@ namespace MediaBrowser.Providers.TV
return false;
}
return _fileSystem.GetLastWriteTimeUtc(file) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(file) > item.DateLastSaved;
}
/// <summary>

@ -18,14 +18,12 @@ namespace MediaBrowser.Providers.TV
/// </summary>
public class SeasonProviderFromXml : BaseMetadataProvider
{
public static SeasonProviderFromXml Current;
private readonly IFileSystem _fileSystem;
public SeasonProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem)
: base(logManager, configurationManager)
{
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -57,7 +55,7 @@ namespace MediaBrowser.Providers.TV
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -18,14 +18,12 @@ namespace MediaBrowser.Providers.TV
/// </summary>
public class SeriesProviderFromXml : BaseMetadataProvider
{
internal static SeriesProviderFromXml Current { get; private set; }
private readonly IFileSystem _fileSystem;
public SeriesProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem)
: base(logManager, configurationManager)
{
_fileSystem = fileSystem;
Current = this;
}
/// <summary>
@ -57,7 +55,7 @@ namespace MediaBrowser.Providers.TV
return false;
}
return _fileSystem.GetLastWriteTimeUtc(xml) > providerInfo.LastRefreshed;
return _fileSystem.GetLastWriteTimeUtc(xml) > item.DateLastSaved;
}
/// <summary>

@ -1311,6 +1311,11 @@ namespace MediaBrowser.Server.Implementations.Library
{
var list = items.ToList();
foreach (var item in list)
{
item.DateLastSaved = DateTime.UtcNow;
}
await ItemRepository.SaveItems(list, cancellationToken).ConfigureAwait(false);
foreach (var item in list)
@ -1350,6 +1355,8 @@ namespace MediaBrowser.Server.Implementations.Library
await SaveMetadata(item, updateReason).ConfigureAwait(false);
}
item.DateLastSaved = DateTime.UtcNow;
await ItemRepository.SaveItem(item, cancellationToken).ConfigureAwait(false);
UpdateItemInLibraryCache(item);

@ -202,7 +202,7 @@ namespace MediaBrowser.Server.Implementations.Providers
{
if (item == null)
{
throw new ArgumentNullException();
throw new ArgumentNullException("item");
}
cancellationToken.ThrowIfCancellationRequested();
@ -213,12 +213,9 @@ namespace MediaBrowser.Server.Implementations.Providers
_logger.Debug("Running {0} for {1}", provider.GetType().Name, item.Path ?? item.Name ?? "--Unknown--");
}
// This provides the ability to cancel just this one provider
var innerCancellationTokenSource = new CancellationTokenSource();
try
{
var changed = await provider.FetchAsync(item, force, CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, innerCancellationTokenSource.Token).Token).ConfigureAwait(false);
var changed = await provider.FetchAsync(item, force, cancellationToken).ConfigureAwait(false);
if (changed)
{
@ -247,10 +244,6 @@ namespace MediaBrowser.Server.Implementations.Providers
return ItemUpdateType.Unspecified;
}
finally
{
innerCancellationTokenSource.Dispose();
}
}
/// <summary>

@ -32,6 +32,11 @@
<PlatformTarget>x86</PlatformTarget>
<Externalconsole>true</Externalconsole>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>false</Optimize>
<OutputPath>bin\Release</OutputPath>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="ServiceStack.Common">

Loading…
Cancel
Save