Date Group without Populate Property Id and
Path Root check
This commit is contained in:
parent
1961999e8b
commit
d08cffe50d
@ -216,9 +216,9 @@ public class DateGroup
|
||||
string seasonValue;
|
||||
string directoryName;
|
||||
string topDirectoryName;
|
||||
DateTime minimumDateTime;
|
||||
string[]? matches = null;
|
||||
string[] directorySegments;
|
||||
DateTime? minimumDateTime = null;
|
||||
List<string> destinationCollection;
|
||||
List<string> directoryNames = new();
|
||||
List<string> topDirectorySegments = new();
|
||||
@ -260,9 +260,12 @@ public class DateGroup
|
||||
directoryNames.Clear();
|
||||
destinationCollection = new();
|
||||
_ = destinationDirectoryName.Clear();
|
||||
minimumDateTime = Shared.Models.Stateless.Methods.IProperty.GetMinimumDateTime(item.Property);
|
||||
day = minimumDateTime.Value.ToString("MM-dd");
|
||||
month = minimumDateTime.Value.ToString("MMMM");
|
||||
if (item.ImageFileHolder.LastWriteTime is not null && item.Property is null)
|
||||
minimumDateTime = item.ImageFileHolder.LastWriteTime.Value;
|
||||
else
|
||||
minimumDateTime = Shared.Models.Stateless.Methods.IProperty.GetMinimumDateTime(item.Property);
|
||||
day = minimumDateTime.ToString("MM-dd");
|
||||
month = minimumDateTime.ToString("MMMM");
|
||||
if (item.Property?.Id is null)
|
||||
{
|
||||
flag = '#';
|
||||
@ -277,19 +280,19 @@ public class DateGroup
|
||||
flag = '~';
|
||||
else
|
||||
{
|
||||
if (item.Property.DateTimeOriginal.HasValue && minimumDateTime.Value.DayOfYear != item.Property.DateTimeOriginal.Value.DayOfYear && Math.Abs(new TimeSpan(minimumDateTime.Value.Ticks - item.Property.DateTimeOriginal.Value.Ticks).TotalHours) > 8)
|
||||
if (item.Property.DateTimeOriginal.HasValue && minimumDateTime.DayOfYear != item.Property.DateTimeOriginal.Value.DayOfYear && Math.Abs(new TimeSpan(minimumDateTime.Ticks - item.Property.DateTimeOriginal.Value.Ticks).TotalHours) > 8)
|
||||
flag = '^';
|
||||
else
|
||||
flag = '=';
|
||||
}
|
||||
}
|
||||
(season, seasonName) = Shared.Models.Stateless.Methods.IProperty.GetSeason(minimumDateTime.Value.DayOfYear);
|
||||
(season, seasonName) = Shared.Models.Stateless.Methods.IProperty.GetSeason(minimumDateTime.DayOfYear);
|
||||
if ((from l in topDirectorySegments where l == "Christmas" select true).Any())
|
||||
seasonValue = string.Empty;
|
||||
else
|
||||
seasonValue = $".{season}";
|
||||
if (isWrongYear is null || !isWrongYear.Value)
|
||||
year = $"{flag}{minimumDateTime.Value:yyyy}{seasonValue}";
|
||||
year = $"{flag}{minimumDateTime:yyyy}{seasonValue}";
|
||||
else if (matches is null || matches.Length < 3)
|
||||
year = "----";
|
||||
else
|
||||
@ -300,7 +303,7 @@ public class DateGroup
|
||||
year = $"{flag}{matches[0][1..].Split('.')[0]}{seasonValue}";
|
||||
}
|
||||
topDirectoryName = Path.GetFileName(topDirectory);
|
||||
weekOfYear = calendar.GetWeekOfYear(minimumDateTime.Value, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00");
|
||||
weekOfYear = calendar.GetWeekOfYear(minimumDateTime, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00");
|
||||
if (_Configuration.ByHash)
|
||||
directoryNames.Add($"{year} {seasonName}");
|
||||
else if (_Configuration.BySeason && topDirectoryName.Length == 1 && topDirectoryName[0] == '_')
|
||||
@ -349,9 +352,9 @@ public class DateGroup
|
||||
if (item.ImageFileHolder.LastWriteTime is null)
|
||||
continue;
|
||||
if (item.Property is not null)
|
||||
results.Add(new(item, item.Property.LastWriteTime.Ticks, minimumDateTime.Value.Ticks, destinationCollection.ToArray()));
|
||||
results.Add(new(item, item.Property.LastWriteTime.Ticks, minimumDateTime.Ticks, destinationCollection.ToArray()));
|
||||
else
|
||||
results.Add(new(item, item.ImageFileHolder.LastWriteTime.Value.Ticks, minimumDateTime.Value.Ticks, destinationCollection.ToArray()));
|
||||
results.Add(new(item, item.ImageFileHolder.LastWriteTime.Value.Ticks, minimumDateTime.Ticks, destinationCollection.ToArray()));
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
@ -453,7 +453,7 @@ public partial class Form : System.Windows.Forms.Form
|
||||
{
|
||||
RenameFilesInDirectories(directories);
|
||||
string? parentDirectory = Path.GetDirectoryName(directories[0]);
|
||||
if (parentDirectory is not null)
|
||||
if (parentDirectory is not null && parentDirectory != Path.GetPathRoot(directories[0]))
|
||||
_ = IPath.DeleteEmptyDirectories(parentDirectory);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user