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:
57
Worker.cs
57
Worker.cs
@ -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]);
|
||||
|
Reference in New Issue
Block a user