Minor changes

Empty file ISO
Add date back for just .kanbn
Removed HardcodedFileSearchAndSort
Sync with 01-23
JsonToTsv
System.Text.Json
White-List
Ready to move to Move Helper
Remove Whitelist
Force Start At
Check for .git directory before ls
Optional
Allow root for unc path
nuget bump
PreVerify
EnforceCodeStyleInBuild
dotnet_analyzer_diagnostic
HelperGit
searchDelegate
Host File
AlertIfNewDeviceIsConnected
AOT
SetFrontMatterAndH1
Match Error
Unknown with better logging
Undo 04-05
WriteAppendToHostConfFile
MonA
IsKanbanIndex
Dotnet Format Pre-commit
NPM
CreateWindowsShortcut
Working directory
Split description
Copy tests
Ready to test
Delete after a couple of days
GitConfigCleanUp
knb Files
This commit is contained in:
2024-01-08 13:57:27 -07:00
parent 84ad97ac6e
commit 4e3f06bb44
35 changed files with 1914 additions and 884 deletions

View File

@ -1,6 +1,7 @@
using File_Folder_Helper.Models;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using WindowsShortcutFactory;
namespace File_Folder_Helper;
@ -61,10 +62,35 @@ public class Worker : BackgroundService
public override Task StopAsync(CancellationToken cancellationToken) =>
base.StopAsync(cancellationToken);
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
private void CreateWindowsShortcut()
{
if (!stoppingToken.IsCancellationRequested)
await Task.Delay(500, stoppingToken);
object? assemblyName = AppContext.GetData("AssemblyName");
string sendToDirectory = Environment.GetFolderPath(Environment.SpecialFolder.SendTo);
string localApplicationData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
if (Directory.Exists(sendToDirectory) && Directory.Exists(localApplicationData) && assemblyName is string assemblyNameValue)
{
string shortcut = Path.Combine(sendToDirectory, $"{assemblyNameValue}.lnk");
string directory = Path.Combine(localApplicationData, _AppSettings.WorkingDirectoryName, assemblyNameValue);
if (!Directory.Exists(directory))
_ = Directory.CreateDirectory(directory);
if (!File.Exists(sendToDirectory))
{
WindowsShortcut windowsShortcut = new()
{
Arguments = "s X C:/ProgramData Day-Helper-2024-01-07 1",
Path = Path.Combine(directory, $"{assemblyNameValue}.exe"),
WorkingDirectory = AppContext.BaseDirectory
};
windowsShortcut.Save(shortcut);
windowsShortcut.Dispose();
}
}
}
protected override async Task ExecuteAsync(CancellationToken cancellationToken)
{
if (!cancellationToken.IsCancellationRequested)
await Task.Delay(500, cancellationToken);
if (_AppSettings is null)
throw new NullReferenceException(nameof(_AppSettings));
try
@ -84,7 +110,10 @@ public class Worker : BackgroundService
if (singleCharIndex is not null)
_Args.RemoveAt(singleCharIndex.Value);
if (_Args.Count == 0)
_Logger.LogInformation("Must pass a argument!");
{
_Logger.LogWarning("Must pass a argument!");
CreateWindowsShortcut();
}
else if (Directory.Exists(_Args[0]) && File.Exists(Path.Combine(_Args[0], string.Concat(Path.GetFileName(_Args[0]), ".dll"))))
Helpers.HelperILMerge.ILMerge(_Args[0]);
else if (Directory.Exists(_Args[0]))
@ -100,20 +129,20 @@ public class Worker : BackgroundService
_Logger.LogInformation("E) Everything delete recursive,");
_Logger.LogInformation("F) Find and delete all *.log.* files then empty directories,");
_Logger.LogInformation("G) Genealogical Data Communication,");
_Logger.LogInformation("H) Hardcoded file search and sort,");
// H
_Logger.LogInformation("I) Ignore case and rename files to lowercase,");
_Logger.LogInformation("J) Set Date from Json Entry,");
_Logger.LogInformation("K) Kanban support,");
_Logger.LogInformation("L) Log Merge (APC Log [0-9(8)]_*.log),");
_Logger.LogInformation("N) Create Note Files,");
_Logger.LogInformation("M) Markdown Wiki Link Verification,");
_Logger.LogInformation("N) Create Note Files,");
_Logger.LogInformation("O) Oracle tnsNames.ora,");
_Logger.LogInformation("P) PDF parse,");
// Q
_Logger.LogInformation("R) Rename to old, copy, delete old,");
_Logger.LogInformation("S) Set Date from Zip Entry,");
_Logger.LogInformation("T) *Ticks ~~Too long rename~~,");
_Logger.LogInformation("U) Links for Hugo,");
// U
// V
// W
_Logger.LogInformation("X) Day Helpers,");
@ -140,9 +169,6 @@ public class Worker : BackgroundService
case ConsoleKey.G:
Helpers.HelperGenealogicalDataCommunication.FileSystemToGenealogicalDataCommunication(_AppSettings, _Logger, _Args);
break;
case ConsoleKey.H:
Helpers.HelperHardcodedFileSearchAndSort.HardcodedFileSearchAndSort(_Logger, _Args[0]);
break;
case ConsoleKey.I:
Helpers.HelperSaveOrCopyContents.IgnoreCaseAndRenameFilesToLowercase(_Logger, _Args[0]);
break;
@ -150,7 +176,7 @@ public class Worker : BackgroundService
Helpers.HelperPackageFilesByDate.SetDateFromJsonEntry(_Logger, _Args[0]);
break;
case ConsoleKey.K:
Helpers.HelperKanbanMetadata.SetMetadata(_Logger, _AppSettings, _Args[0], addTicks: true);
Helpers.HelperKanbanMetadata.SetMetadata(_Logger, _AppSettings, _Args[0]);
break;
case ConsoleKey.L:
Helpers.HelperLogMerge.LogMerge(_Args[0]);
@ -160,8 +186,8 @@ public class Worker : BackgroundService
break;
case ConsoleKey.M:
if (_Args[0].EndsWith(".kanbn") && Directory.Exists(_Args[0]))
Helpers.HelperKanbanMetadata.SetMetadata(_Logger, _AppSettings, _Args[0], addTicks: false);
Helpers.HelperMarkdown.MarkdownWikiLinkVerification(_AppSettings, _Logger, _Args);
Helpers.HelperKanbanMetadata.SetMetadata(_Logger, _AppSettings, _Args[0]);
Helpers.HelperMarkdown.MarkdownWikiLinkVerification(_AppSettings, _Logger, _Args, cancellationToken);
break;
case ConsoleKey.O:
Helpers.HelperFindReplace.UpdateTnsNames(_Logger, _Args);
@ -181,11 +207,8 @@ public class Worker : BackgroundService
// Helpers.HelperTooLong.TooLong(_Args[0], delete: false);
// Helpers.HelperTooLong.TooLong(_Args[0], delete: true);
break;
case ConsoleKey.U:
Helpers.HelperMarkdown.MarkdownConvertLinksForHugo(_AppSettings, _Logger, _Args);
break;
case ConsoleKey.X:
Helpers.HelperDay.Select(_AppSettings, _Logger, _Args);
Helpers.HelperDay.Select(_AppSettings, _Logger, _Args, cancellationToken);
break;
case ConsoleKey.Y:
Helpers.HelperZipFilesBy.ZipFilesByDirectoryWithFile(_Logger, _Args[0]);