prevent xml savers from triggering xml providers

This commit is contained in:
Luke Pulverenti
2013-12-06 10:59:40 -05:00
parent 5f0d8000a5
commit 9f4f2281cd
30 changed files with 55 additions and 100 deletions

View File

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

View File

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