@ -212,24 +212,26 @@ namespace MediaBrowser.Api.Library
File . Create ( path ) ;
}
// Need to add a delay here or directory watchers may still pick up the changes
var task = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( task ) ;
}
finally
{
// No need to start if scanning the library because it will handle it
if ( ! request . RefreshLibrary )
Task . Run ( ( ) = >
{
_libraryMonitor . Start ( ) ;
}
}
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
// No need to start if scanning the library because it will handle it
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
}
else
{
// Need to add a delay here or directory watchers may still pick up the changes
var task = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( task ) ;
_libraryMonitor . Start ( ) ;
}
} ) ;
}
}
@ -279,24 +281,26 @@ namespace MediaBrowser.Api.Library
}
Directory . Move ( currentPath , newPath ) ;
// Need to add a delay here or directory watchers may still pick up the changes
var task = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( task ) ;
}
finally
{
// No need to start if scanning the library because it will handle it
if ( ! request . RefreshLibrary )
Task . Run ( ( ) = >
{
_libraryMonitor . Start ( ) ;
}
}
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
// No need to start if scanning the library because it will handle it
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
}
else
{
// Need to add a delay here or directory watchers may still pick up the changes
var task = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( task ) ;
_libraryMonitor . Start ( ) ;
}
} ) ;
}
}
@ -325,24 +329,26 @@ namespace MediaBrowser.Api.Library
try
{
_fileSystem . DeleteDirectory ( path , true ) ;
// Need to add a delay here or directory watchers may still pick up the changes
var delayTask = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( delayTask ) ;
}
finally
{
// No need to start if scanning the library because it will handle it
if ( ! request . RefreshLibrary )
Task . Run ( ( ) = >
{
_libraryMonitor . Start ( ) ;
}
}
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
// No need to start if scanning the library because it will handle it
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
}
else
{
// Need to add a delay here or directory watchers may still pick up the changes
var task = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( task ) ;
_libraryMonitor . Start ( ) ;
}
} ) ;
}
}
@ -362,24 +368,26 @@ namespace MediaBrowser.Api.Library
try
{
LibraryHelpers . AddMediaPath ( _fileSystem , request . Name , request . Path , _appPaths ) ;
// Need to add a delay here or directory watchers may still pick up the changes
var task = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( task ) ;
}
finally
{
// No need to start if scanning the library because it will handle it
if ( ! request . RefreshLibrary )
Task . Run ( ( ) = >
{
_libraryMonitor . Start ( ) ;
}
}
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
// No need to start if scanning the library because it will handle it
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
}
else
{
// Need to add a delay here or directory watchers may still pick up the changes
var task = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( task ) ;
_libraryMonitor . Start ( ) ;
}
} ) ;
}
}
@ -399,24 +407,26 @@ namespace MediaBrowser.Api.Library
try
{
LibraryHelpers . RemoveMediaPath ( _fileSystem , request . Name , request . Path , _appPaths ) ;
// Need to add a delay here or directory watchers may still pick up the changes
var task = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( task ) ;
}
finally
{
// No need to start if scanning the library because it will handle it
if ( ! request . RefreshLibrary )
Task . Run ( ( ) = >
{
_libraryMonitor . Start ( ) ;
}
}
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
// No need to start if scanning the library because it will handle it
if ( request . RefreshLibrary )
{
_libraryManager . ValidateMediaLibrary ( new Progress < double > ( ) , CancellationToken . None ) ;
}
else
{
// Need to add a delay here or directory watchers may still pick up the changes
var task = Task . Delay ( 1000 ) ;
// Have to block here to allow exceptions to bubble
Task . WaitAll ( task ) ;
_libraryMonitor . Start ( ) ;
}
} ) ;
}
}
}