|
|
@ -338,6 +338,13 @@ namespace MediaBrowser.Server.Implementations.IO
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var nameFromFullPath = Path.GetFileName(e.FullPath);
|
|
|
|
|
|
|
|
// Ignore certain files
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(nameFromFullPath) && _alwaysIgnoreFiles.Contains(nameFromFullPath, StringComparer.OrdinalIgnoreCase))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Ignore when someone manually creates a new folder
|
|
|
|
// Ignore when someone manually creates a new folder
|
|
|
|
if (e.ChangeType == WatcherChangeTypes.Created && name == "New folder")
|
|
|
|
if (e.ChangeType == WatcherChangeTypes.Created && name == "New folder")
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -444,7 +451,15 @@ namespace MediaBrowser.Server.Implementations.IO
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch
|
|
|
|
catch (DirectoryNotFoundException)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (FileNotFoundException)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (IOException)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//the file is unavailable because it is:
|
|
|
|
//the file is unavailable because it is:
|
|
|
|
//still being written to
|
|
|
|
//still being written to
|
|
|
@ -453,6 +468,10 @@ namespace MediaBrowser.Server.Implementations.IO
|
|
|
|
Logger.Debug("{0} is locked.", path);
|
|
|
|
Logger.Debug("{0} is locked.", path);
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
catch
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
|