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 seasonValue;
|
||||||
string directoryName;
|
string directoryName;
|
||||||
string topDirectoryName;
|
string topDirectoryName;
|
||||||
|
DateTime minimumDateTime;
|
||||||
string[]? matches = null;
|
string[]? matches = null;
|
||||||
string[] directorySegments;
|
string[] directorySegments;
|
||||||
DateTime? minimumDateTime = null;
|
|
||||||
List<string> destinationCollection;
|
List<string> destinationCollection;
|
||||||
List<string> directoryNames = new();
|
List<string> directoryNames = new();
|
||||||
List<string> topDirectorySegments = new();
|
List<string> topDirectorySegments = new();
|
||||||
@ -260,9 +260,12 @@ public class DateGroup
|
|||||||
directoryNames.Clear();
|
directoryNames.Clear();
|
||||||
destinationCollection = new();
|
destinationCollection = new();
|
||||||
_ = destinationDirectoryName.Clear();
|
_ = destinationDirectoryName.Clear();
|
||||||
minimumDateTime = Shared.Models.Stateless.Methods.IProperty.GetMinimumDateTime(item.Property);
|
if (item.ImageFileHolder.LastWriteTime is not null && item.Property is null)
|
||||||
day = minimumDateTime.Value.ToString("MM-dd");
|
minimumDateTime = item.ImageFileHolder.LastWriteTime.Value;
|
||||||
month = minimumDateTime.Value.ToString("MMMM");
|
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)
|
if (item.Property?.Id is null)
|
||||||
{
|
{
|
||||||
flag = '#';
|
flag = '#';
|
||||||
@ -277,19 +280,19 @@ public class DateGroup
|
|||||||
flag = '~';
|
flag = '~';
|
||||||
else
|
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 = '^';
|
flag = '^';
|
||||||
else
|
else
|
||||||
flag = '=';
|
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())
|
if ((from l in topDirectorySegments where l == "Christmas" select true).Any())
|
||||||
seasonValue = string.Empty;
|
seasonValue = string.Empty;
|
||||||
else
|
else
|
||||||
seasonValue = $".{season}";
|
seasonValue = $".{season}";
|
||||||
if (isWrongYear is null || !isWrongYear.Value)
|
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)
|
else if (matches is null || matches.Length < 3)
|
||||||
year = "----";
|
year = "----";
|
||||||
else
|
else
|
||||||
@ -300,7 +303,7 @@ public class DateGroup
|
|||||||
year = $"{flag}{matches[0][1..].Split('.')[0]}{seasonValue}";
|
year = $"{flag}{matches[0][1..].Split('.')[0]}{seasonValue}";
|
||||||
}
|
}
|
||||||
topDirectoryName = Path.GetFileName(topDirectory);
|
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)
|
if (_Configuration.ByHash)
|
||||||
directoryNames.Add($"{year} {seasonName}");
|
directoryNames.Add($"{year} {seasonName}");
|
||||||
else if (_Configuration.BySeason && topDirectoryName.Length == 1 && topDirectoryName[0] == '_')
|
else if (_Configuration.BySeason && topDirectoryName.Length == 1 && topDirectoryName[0] == '_')
|
||||||
@ -349,9 +352,9 @@ public class DateGroup
|
|||||||
if (item.ImageFileHolder.LastWriteTime is null)
|
if (item.ImageFileHolder.LastWriteTime is null)
|
||||||
continue;
|
continue;
|
||||||
if (item.Property is not null)
|
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
|
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;
|
return results;
|
||||||
}
|
}
|
||||||
|
@ -453,7 +453,7 @@ public partial class Form : System.Windows.Forms.Form
|
|||||||
{
|
{
|
||||||
RenameFilesInDirectories(directories);
|
RenameFilesInDirectories(directories);
|
||||||
string? parentDirectory = Path.GetDirectoryName(directories[0]);
|
string? parentDirectory = Path.GetDirectoryName(directories[0]);
|
||||||
if (parentDirectory is not null)
|
if (parentDirectory is not null && parentDirectory != Path.GetPathRoot(directories[0]))
|
||||||
_ = IPath.DeleteEmptyDirectories(parentDirectory);
|
_ = IPath.DeleteEmptyDirectories(parentDirectory);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user