private static async Task Main(string[] args) { await Parser.Default.ParseArguments <Options>(args) .WithParsedAsync(async options => { var handler = new HttpClientHandler { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; if (!string.IsNullOrEmpty(options.Proxy)) { var split = options.Proxy.Split(":"); handler.Proxy = new WebProxy(split[0], int.Parse(split[1])); } var client = new HttpClient(handler); var pattern = await File.ReadAllTextAsync("Patterns/ChapterPattern.xhtml"); var getterConfig = new BookGetterConfig(options, client, pattern); using var getter = new BookGetter(getterConfig); var generatorConfig = new EpubGeneratorConfig(options.SavePath, "Patterns"); var generator = new EpubGenerator(generatorConfig); var book = await getter.Get(options.BookId); generator.Generate(book); }); }
public EpubGenerator(EpubGeneratorConfig config) { _config = config; }