public static void DoProgress(ProgressDisplayType ProgressDisplay, ProgressBar progress, Int32 ChapterCount, String Chapter, Int32 TaskCount, Int32 TaskPosition) { switch (ProgressDisplay) { case ProgressDisplayType.Text: Console.WriteLine($"{PercentageString(PercentageType.Total, Int32.Parse(Chapter), ChapterCount)}, {PercentageString(PercentageType.Partial, TaskPosition, TaskCount)}"); break; case ProgressDisplayType.Total: progress.Report(GetPercentage(Int32.Parse(Chapter), ChapterCount)); break; case ProgressDisplayType.Partial: progress.Report(GetPercentage(TaskPosition, TaskCount)); break; } }
public static void ParseArgs(IEnumerable <String> Args, out String Base, out String MangaName, out String MangaNameOG, out ProgressDisplayType ProgressDisplay, out ProcessPriorityClass SpawnedPriority) { String GetArgument(IEnumerable <string> args, string option) => args.SkipWhile(i => i.ToLower() != option.ToLower()).Skip(1).Take(1).FirstOrDefault(); Dictionary <String, String> ParsedArgs = new Dictionary <String, String> { { "Base", GetArgument(Args, "-Base") }, { "MangaName", GetArgument(Args, "-MangaName") }, { "MangaNameOG", GetArgument(Args, "-MangaNameOG") }, { "ProgressDisplay", GetArgument(Args, "-ProgressDisplay") }, { "SpawnedPriority", GetArgument(Args, "-SpawnedPriority") } }; if (!ParsedArgs.TryGetValue("Base", out Base)) { Base = "C:\\Users\\Twister\\Downloads"; } if (!ParsedArgs.TryGetValue("MangaName", out MangaName)) { MangaName = "Noblesse"; } if (!ParsedArgs.TryGetValue("MangaNameOG", out MangaNameOG)) { MangaNameOG = "Manhwa"; } ProgressDisplay = ProgressDisplayType.Text; if (ParsedArgs.TryGetValue("ProgressDisplay", out String ProgressDisplayIn)) { ProgressDisplay = ParseProgressDisplay(ProgressDisplayIn); } SpawnedPriority = ProcessPriorityClass.Normal; if (ParsedArgs.TryGetValue("SpawnedPriority", out String SpawnedPriorityIn)) { SpawnedPriority = ParseSpawnedPriority(SpawnedPriorityIn); } }