little scanner optimization
All checks were successful
PiwigoDirectorySync/pipeline/head This commit looks good
All checks were successful
PiwigoDirectorySync/pipeline/head This commit looks good
This commit is contained in:
parent
ec6e062971
commit
f39b2ae3fe
@ -45,17 +45,8 @@ internal class FileSystemScanner : IFileSystemScanner
|
|||||||
{
|
{
|
||||||
_logger.Information("Scanning directory {DirectoryFullName} for images", directory.FullName);
|
_logger.Information("Scanning directory {DirectoryFullName} for images", directory.FullName);
|
||||||
|
|
||||||
var imageFiles = AppSettings.SupportedExtensions.SelectMany(ext => directory.GetFiles($"*.{ext}", SearchOption.TopDirectoryOnly))
|
var imageFiles = AppSettings.SupportedExtensions.SelectMany(ext => directory.GetFiles($"*.{ext}", SearchOption.TopDirectoryOnly));
|
||||||
.Select(f => f.FullName)
|
foreach (var imageFile in imageFiles)
|
||||||
.ToHashSet(StringComparer.OrdinalIgnoreCase);
|
|
||||||
|
|
||||||
if (!imageFiles.Any())
|
|
||||||
{
|
|
||||||
_logger.Debug("No images in {DirectoryFullName} found, skipping", directory.FullName);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var imageFile in imageFiles.Select(f => new FileInfo(f)))
|
|
||||||
{
|
{
|
||||||
_logger.Debug("Found image {ImageFileFullName}, enqueue index", imageFile.FullName);
|
_logger.Debug("Found image {ImageFileFullName}, enqueue index", imageFile.FullName);
|
||||||
await fileQueue.Writer.WriteAsync(imageFile.FullName, ct);
|
await fileQueue.Writer.WriteAsync(imageFile.FullName, ct);
|
||||||
@ -70,7 +61,7 @@ internal class FileSystemScanner : IFileSystemScanner
|
|||||||
private static IEnumerable<DirectoryInfo> GetDirectories(DirectoryInfo directoryInfo)
|
private static IEnumerable<DirectoryInfo> GetDirectories(DirectoryInfo directoryInfo)
|
||||||
{
|
{
|
||||||
yield return directoryInfo;
|
yield return directoryInfo;
|
||||||
foreach (var directory in directoryInfo.EnumerateDirectories().SelectMany(GetDirectories))
|
foreach (var directory in directoryInfo.EnumerateDirectories().SelectMany(GetDirectories).OrderBy(d => d.FullName))
|
||||||
{
|
{
|
||||||
yield return directory;
|
yield return directory;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user