Year-Season-Attachments

Updated mklink for new version and directory creation
Epoch Testing
This commit is contained in:
Mike Phares 2025-01-06 13:46:00 -07:00
parent 7f1f149eac
commit 4b85f8807d
3 changed files with 44 additions and 14 deletions

9
.vscode/mklink.md vendored
View File

@ -18,9 +18,12 @@ mklink /J "L:\DevOps\Mesa_FI\File-Folder-Helper\.kanbn" "D:\5-Other-Small\Kanban
del "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode" del "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode"
del "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode-oss" del "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode-oss"
del "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode-insiders" del "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode-insiders"
mklink /J "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode" "C:\Users\phares\.vscode\extensions\ifx.type-script-helper-1.8.0" mkdir "C:\Users\phares\.vscode\extensions\ifx.type-script-helper-1.111.0\net8.0\win-x64\publish"
mklink /J "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode-oss" "C:\Users\phares\.vscode-oss\extensions\ifx.type-script-helper-1.8.0" mkdir "C:\Users\phares\.vscode-oss\extensions\ifx.type-script-helper-1.111.0\net8.0\win-x64\publish"
mklink /J "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode-insiders" "C:\Users\phares\.vscode-insiders\extensions\ifx.type-script-helper-1.8.0" mkdir "C:\Users\phares\.vscode-insiders\extensions\ifx.type-script-helper-1.111.0\net8.0\win-x64\publish"
mklink /J "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode" "C:\Users\phares\.vscode\extensions\ifx.type-script-helper-1.111.0"
mklink /J "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode-oss" "C:\Users\phares\.vscode-oss\extensions\ifx.type-script-helper-1.111.0"
mklink /J "L:\DevOps\Mesa_FI\File-Folder-Helper\.extensions-vscode-insiders" "C:\Users\phares\.vscode-insiders\extensions\ifx.type-script-helper-1.111.0"
``` ```
```bash Thu Jul 18 2024 13:47:40 GMT-0700 (Mountain Standard Time) ```bash Thu Jul 18 2024 13:47:40 GMT-0700 (Mountain Standard Time)

View File

@ -303,14 +303,10 @@ internal static partial class Helper20240623
FileWriteAllText(Path.Combine(directory, $"{h1ParamCase.ParamCase}.md"), $"# {h1ParamCase.H1}"); FileWriteAllText(Path.Combine(directory, $"{h1ParamCase.ParamCase}.md"), $"# {h1ParamCase.H1}");
} }
private static string WriteAndGetIndexFile(string destinationDirectory, string h1, long verified, ReadOnlyCollection<H1AndParamCase> h1ParamCaseCollection) private static string WriteAndGetIndexFile(string h1, string verifiedDirectory, ReadOnlyCollection<H1AndParamCase> h1ParamCaseCollection)
{ {
string result; string result;
string[] indexLines = GetIndexLines(h1, h1ParamCaseCollection); string[] indexLines = GetIndexLines(h1, h1ParamCaseCollection);
DateTime utcEpochDateTime = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime dateTime = utcEpochDateTime.AddMilliseconds(verified).ToLocalTime();
string seasonName = GetSeasonName(dateTime.DayOfYear);
string verifiedDirectory = Path.Combine(destinationDirectory, $"{dateTime.Year}", $"{dateTime.Year}-{seasonName}", verified.ToString());
string kanbanDirectory = Path.Combine(verifiedDirectory, ".kanbn"); string kanbanDirectory = Path.Combine(verifiedDirectory, ".kanbn");
string tasksKanbanDirectory = Path.Combine(kanbanDirectory, "tasks"); string tasksKanbanDirectory = Path.Combine(kanbanDirectory, "tasks");
if (!Directory.Exists(tasksKanbanDirectory)) if (!Directory.Exists(tasksKanbanDirectory))
@ -405,6 +401,7 @@ internal static partial class Helper20240623
else else
{ {
string segment = Path.GetFileName(checkDirectory); string segment = Path.GetFileName(checkDirectory);
string h1 = record.LineNumber.Lines[record.LineNumber.H1.Value];
DateTime utcEpochDateTime = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); DateTime utcEpochDateTime = new(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
long utcEpochTotalMilliseconds = (long)Math.Floor(DateTime.UtcNow.Subtract(utcEpochDateTime).TotalMilliseconds); long utcEpochTotalMilliseconds = (long)Math.Floor(DateTime.UtcNow.Subtract(utcEpochDateTime).TotalMilliseconds);
if (!long.TryParse(segment, out long check) || check < input.AfterEpochTotalMilliseconds || check > utcEpochTotalMilliseconds) if (!long.TryParse(segment, out long check) || check < input.AfterEpochTotalMilliseconds || check > utcEpochTotalMilliseconds)
@ -415,7 +412,15 @@ internal static partial class Helper20240623
if (h1ParamCaseCollection.Count == 0) if (h1ParamCaseCollection.Count == 0)
result = null; result = null;
else else
result = WriteAndGetIndexFile(input.DestinationDirectory, record.LineNumber.Lines[record.LineNumber.H1.Value], check, h1ParamCaseCollection); {
DateTime dateTime = utcEpochDateTime.AddMilliseconds(check).ToLocalTime();
string seasonName = GetSeasonName(dateTime.DayOfYear);
ReadOnlyCollection<string> directoryNames = HelperDirectory.GetDirectoryNames(checkDirectory);
if (!directoryNames.Contains(dateTime.Year.ToString()) || !directoryNames.Contains($"{dateTime.Year}-{seasonName}") || !directoryNames.Contains(check.ToString()))
result = null;
else
result = WriteAndGetIndexFile(h1, checkDirectory, h1ParamCaseCollection);
}
} }
} }
} }

View File

@ -16,12 +16,34 @@
// console.log("dateText: " + dateText); // console.log("dateText: " + dateText);
// DateTime utcMeDateTime = new(1980, 1, 17, 0, 0, 0, DateTimeKind.Utc); // DateTime utcMeDateTime = new(1980, 1, 17, 0, 0, 0, DateTimeKind.Utc);
// long meTotalSeconds = (long)Math.Floor(fileInfo.LastWriteTime.ToUniversalTime().Subtract(utcMeDateTime).TotalSeconds); // long meTotalSeconds = (long)Math.Floor(fileInfo.LastWriteTime.ToUniversalTime().Subtract(utcMeDateTime).TotalSeconds);
let date = new Date(); let now = new Date();
let timezoneOffset = date.getTimezoneOffset(); let start = new Date(now.getFullYear(), 0, 0);
let seconds = date.getTime().valueOf() + timezoneOffset; let diff = (now - start) + ((start.getTimezoneOffset() - now.getTimezoneOffset()) * 60 * 1000);
let oneDay = 1000 * 60 * 60 * 24;
let day = Math.floor(diff / oneDay);
console.log('Day of year: ' + day);
var season = now.getFullYear() + "-";
if (day < 78)
season = season + "0.Winter";
else if (day < 124)
season = season + "1.Spring";
else if (day < 171)
season = season + "2.Spring";
else if (day < 217)
season = season + "3.Summer";
else if (day < 264)
season = season + "4.Summer";
else if (day < 309)
season = season + "5.Fall";
else if (day < 354)
season = season + "6.Fall";
else
season = season + "7.Winter";
let timezoneOffset = now.getTimezoneOffset();
let seconds = now.getTime().valueOf() + timezoneOffset;
let epoch = seconds * 10000; let epoch = seconds * 10000;
let ticks = epoch + 621355968000000000; let ticks = epoch + 621355968000000000;
let dateText = seconds + " - " + ticks + " - " + date.toString(); let dateText = seconds + " - " + ticks + " - " + now.toString();
console.log("dateText: " + dateText); console.log("dateText: " + dateText);
console.log("end"); console.log("end");
// epoch: 25201000 // epoch: 25201000
@ -30,4 +52,4 @@ console.log("end");
// Now - To: 638665132334594771 // Now - To: 638665132334594771
// 638665135325760000 // 638665135325760000
// 638665136814890000 // 638665136814890000
// utc1970DateTime: 621355968000000000 // utc1970DateTime: 621355968000000000