Keyword to work with Amazon

This commit is contained in:
2024-02-04 09:38:40 -07:00
parent 4081a73b9d
commit 1200780eee
38 changed files with 325 additions and 287 deletions

View File

@ -193,15 +193,11 @@ public class DateGroup
if (item.Property is not null)
dateTimes = item.Property.GetDateTimes();
else
{
if (item.ImageFileHolder.LastWriteTime is null)
throw new Exception();
dateTimes = [item.ImageFileHolder.LastWriteTime.Value];
}
dateTimes = [new(item.FilePath.LastWriteTicks)];
if (item.Property is not null && item.Property.DateTimeOriginal is not null)
dateTime = item.Property.DateTimeOriginal.Value;
else if (item.ImageFileHolder.LastWriteTime is not null && item.Property is null)
dateTime = item.ImageFileHolder.LastWriteTime.Value;
else if (item.Property is null)
dateTime = new(item.FilePath.LastWriteTicks);
else
dateTime = Shared.Models.Stateless.Methods.IProperty.GetMinimumDateTime(item.Property);
day = dateTime.ToString("MM-dd");
@ -213,7 +209,7 @@ public class DateGroup
}
else
{
(isWrongYear, _) = Shared.Models.Stateless.Methods.IProperty.IsWrongYear(item.ImageFileHolder, item.Property.DateTimeOriginal, dateTimes);
(isWrongYear, _) = Shared.Models.Stateless.Methods.IProperty.IsWrongYear(item.FilePath, item.Property.DateTimeOriginal, dateTimes);
if (isWrongYear is null)
flag = '#';
else if (isWrongYear.Value)
@ -283,18 +279,16 @@ public class DateGroup
}
}
if (!_Configuration.ByHash || item.Property?.Id is null)
fileName = item.ImageFileHolder.Name;
fileName = item.FilePath.Name;
else
fileName = $"{item.Property.Id.Value}{item.ImageFileHolder.ExtensionLowered}";
fileName = $"{item.Property.Id.Value}{item.FilePath.ExtensionLowered}";
destinationCollection.Add(destinationDirectory);
destinationCollection.AddRange(directoryNames);
destinationCollection.Add(fileName);
if (item.ImageFileHolder.LastWriteTime is null)
continue;
if (item.Property is not null)
results.Add(new(item, item.Property.LastWriteTime.Ticks, dateTime.Ticks, destinationCollection.ToArray()));
if (item.Property is null)
results.Add(new(item, item.FilePath.LastWriteTicks, dateTime.Ticks, destinationCollection.ToArray()));
else
results.Add(new(item, item.ImageFileHolder.LastWriteTime.Value.Ticks, dateTime.Ticks, destinationCollection.ToArray()));
results.Add(new(item, item.Property.LastWriteTime.Ticks, dateTime.Ticks, destinationCollection.ToArray()));
}
return results;
}
@ -313,7 +307,7 @@ public class DateGroup
List<Item> results = [];
foreach (Item item in container.Items)
{
if (item.ImageFileHolder is not null)
if (item.FilePath is not null)
results.Add(item);
}
return results.ToArray();
@ -422,13 +416,13 @@ public class DateGroup
continue;
}
}
File.Move(item.ImageFileHolder.FullName, fullFileName);
File.Move(item.FilePath.FullName, fullFileName);
moved += 1;
if (hasDuplicate)
{
try
{
windowsShortcut = new() { Path = item.ImageFileHolder.DirectoryName, Description = item.ImageFileHolder.Name };
windowsShortcut = new() { Path = item.FilePath.DirectoryName, Description = item.FilePath.Name };
windowsShortcut.Save(string.Concat(fullFileName, ".lnk"));
windowsShortcut.Dispose();
}
@ -447,11 +441,11 @@ public class DateGroup
foreach ((Item item, long lastWriteTimeTicks, long minimumDateTimeTicks, string[] destination) in fileMoveCollectionAll)
{
fullFileName = Path.Combine(destination);
if (File.Exists(item.ImageFileHolder.FullName))
if (File.Exists(item.FilePath.FullName))
continue;
if (!File.Exists(fullFileName))
continue;
File.Move(fullFileName, item.ImageFileHolder.FullName);
File.Move(fullFileName, item.FilePath.FullName);
moved += 1;
}
_Logger?.LogInformation($"Done moving back {moved} file(s)");
@ -493,8 +487,8 @@ public class DateGroup
relativePathDirectory = Path.GetDirectoryName(item.RelativePath);
if (string.IsNullOrEmpty(relativePathDirectory))
continue;
if (item.ImageFileHolder.LastWriteTime is not null && item.Property is null)
dateTime = item.ImageFileHolder.LastWriteTime.Value;
if (item.Property is null)
dateTime = new(item.FilePath.LastWriteTicks);
else if (item.Property is not null && item.Property.DateTimeOriginal is not null)
dateTime = item.Property.DateTimeOriginal.Value;
else