From 8d783b512cc1aea7c1e1c1d7739971dea8a03ee6 Mon Sep 17 00:00:00 2001 From: Casper Sparre Date: Sat, 21 Feb 2026 00:29:40 +0100 Subject: [PATCH] Changed config parsing to download all subscriptions by default --- Cajetan.OF-DL/Models/CajetanConfig.cs | 4 +--- Cajetan.OF-DL/Models/EMode.cs | 1 - Cajetan.OF-DL/ProgramCajetan.cs | 23 ++++++++--------------- Cajetan.OF-DL/Worker.cs | 5 +---- 4 files changed, 10 insertions(+), 23 deletions(-) diff --git a/Cajetan.OF-DL/Models/CajetanConfig.cs b/Cajetan.OF-DL/Models/CajetanConfig.cs index 9c42302..8a3a47f 100644 --- a/Cajetan.OF-DL/Models/CajetanConfig.cs +++ b/Cajetan.OF-DL/Models/CajetanConfig.cs @@ -5,7 +5,5 @@ public class CajetanConfig public string[] NonInteractiveSpecificLists { get; set; } = []; public string[] NonInteractiveSpecificUsers { get; set; } = []; - public EMode Mode { get; set; } = EMode.None; - - public string ErrorMessage { get; set; } = string.Empty; + public EMode Mode { get; set; } = EMode.DownloadCreatorContent; } diff --git a/Cajetan.OF-DL/Models/EMode.cs b/Cajetan.OF-DL/Models/EMode.cs index b1f4710..0c840de 100644 --- a/Cajetan.OF-DL/Models/EMode.cs +++ b/Cajetan.OF-DL/Models/EMode.cs @@ -2,7 +2,6 @@ namespace OF_DL.Models; public enum EMode { - None, DownloadCreatorContent, OutputBlockedUsers, UpdateAllUserInfo diff --git a/Cajetan.OF-DL/ProgramCajetan.cs b/Cajetan.OF-DL/ProgramCajetan.cs index 13e1f06..7f26d76 100644 --- a/Cajetan.OF-DL/ProgramCajetan.cs +++ b/Cajetan.OF-DL/ProgramCajetan.cs @@ -49,14 +49,7 @@ static async Task ConfigureServices(string[] args) AnsiConsole.Markup("[green]config.conf located successfully!\n[/]"); - if (!ParseCommandlineArgs(args, configService.CurrentConfig, out CajetanConfig cajetanConfig)) - { - AnsiConsole.MarkupLine($"\n[red]{cajetanConfig.ErrorMessage}[/]\n"); - AnsiConsole.MarkupLine("[red]Press any key to exit.[/]"); - Console.ReadKey(); - - exitHelper.ExitWithCode(3); - } + CajetanConfig cajetanConfig = ParseCommandlineArgs(args, configService.CurrentConfig); // Set up full dependency injection with loaded config services = []; @@ -90,26 +83,26 @@ static async Task ConfigureServices(string[] args) return services; } -static bool ParseCommandlineArgs(string[] args, Config currentConfig, out CajetanConfig parsedConfig) +static CajetanConfig ParseCommandlineArgs(string[] args, Config currentConfig) { const string SPECIFIC_LISTS_ARG = "--specific-lists"; const string SPECIFIC_USERS_ARG = "--specific-users"; const string OUTPUT_BLOCKED_USERS_ARG = "--output-blocked"; const string UPDATE_ALL_USER_INFO_ARG = "--update-userinfo"; - parsedConfig = new(); + CajetanConfig parsedConfig = new(); if (ParseListAndUserArguments(ref parsedConfig)) - return true; + return parsedConfig; if (ParseFlagArgument(OUTPUT_BLOCKED_USERS_ARG, EMode.OutputBlockedUsers, ref parsedConfig)) - return true; + return parsedConfig; if (ParseFlagArgument(UPDATE_ALL_USER_INFO_ARG, EMode.UpdateAllUserInfo, ref parsedConfig)) - return true; + return parsedConfig; - parsedConfig.ErrorMessage = "No mode argument provided!"; - return false; + // Will process all active subscriptions + return parsedConfig; bool ParseListAndUserArguments(ref CajetanConfig parsedConfig) { diff --git a/Cajetan.OF-DL/Worker.cs b/Cajetan.OF-DL/Worker.cs index b999568..2b0ce73 100644 --- a/Cajetan.OF-DL/Worker.cs +++ b/Cajetan.OF-DL/Worker.cs @@ -134,7 +134,7 @@ internal class Worker(IServiceProvider serviceProvider) DateTime startTime = DateTime.Now; UserListResult allUsersAndLists = await GetAvailableUsersAsync(); - Dictionary usersToDownload = []; + Dictionary usersToDownload = allUsersAndLists.Users; if (_cajetanConfig.NonInteractiveSpecificLists is not null && _cajetanConfig.NonInteractiveSpecificLists.Length > 0) usersToDownload = await GetUsersFromSpecificListsAsync(allUsersAndLists, _cajetanConfig.NonInteractiveSpecificLists); @@ -142,9 +142,6 @@ internal class Worker(IServiceProvider serviceProvider) else if (_cajetanConfig.NonInteractiveSpecificUsers is not null && _cajetanConfig.NonInteractiveSpecificUsers.Length > 0) usersToDownload = GetUsersFromSpecificUsernames(allUsersAndLists, [.. _cajetanConfig.NonInteractiveSpecificUsers]); - if (usersToDownload.Count == 0) - return; - int userNum = 0; int userCount = usersToDownload.Count; CajetanDownloadEventHandler eventHandler = new();