private static void Main(string[] args) { if (!HTMLManager.Initialize()) { Console.WriteLine("There was a failure initializing HTMLManager"); Console.ReadKey(true); return; } if (args != null && args.Length > 0) { foreach (string arg in args) { ProcessFile(arg); } Console.WriteLine("Batch processing complete"); Program.Main(null); } else { HTMLManager.Initialize(); while (true) { Console.Write("File path: "); ProcessFile(Console.ReadLine().Trim()); } } }
private static void ProcessFile(string path) { if (File.Exists(path)) { string HTMLBody = null; try { using (StreamReader reader = File.OpenText(path)) { HTMLBody = GenerateHTMLBody(reader); } } catch (IOException exception) { Console.WriteLine($"Failure opening \"{path}\""); Console.WriteLine(exception.Message); return; } var exportPath = HTMLManager.GetFilePath(path); if (File.Exists(exportPath)) { bool @continue = false; Console.WriteLine("Do you want to overwrite the already existing file? (Y/N)"); while (!@continue) { switch (Console.ReadKey(true).Key) { case ConsoleKey.Y: @continue = true; break; case ConsoleKey.N: Console.WriteLine($"Stopped {path} conversion"); return; } } } try { HTMLManager.WriteHTMLFile(exportPath, HTMLBody); } catch (IOException exception) { Console.WriteLine($"Failure writing {path} to {exportPath}"); Console.WriteLine(exception.Message); return; } Console.WriteLine($"Saved {path} to {exportPath}!"); } else { Console.WriteLine($"{path} (as a file) does not exist"); } }
private static string GenerateHTMLBody(StreamReader reader) { var stringBuilder = new StringBuilder(); while (!reader.EndOfStream) { string line = reader.ReadLine(); HTMLManager.GetHTMLForLine(line, ref stringBuilder); } return(stringBuilder.ToString()); }