public void CleanBook(BookBuilder builder, EpubReadingOptions options) { if (options.HasFlag(EpubReadingOptions.ShortenPaths)) { pathShortener.ShortenFilePaths(builder); } }
public async static Task <Book> ReadFromFile(string filePath, EpubReadingOptions options = 0) { using (var stream = System.IO.File.OpenRead(filePath)) { return(await ReadFromStream(stream, options).ConfigureAwait(false)); } }
public async Task <Book> ReadBookAsync(Stream stream, EpubReadingOptions options) { var zip = await zipReader.GetZipAsync(stream).ConfigureAwait(false); var structure = await structureFactory.CreateStructureAsync(zip).ConfigureAwait(false); var modelBuilder = await modelBuilderFactory.CreateBuilder(structure).ConfigureAwait(false); bookCleaner.CleanBook(modelBuilder, options); return(modelBuilder.ToBook()); }
public static Task <Book> ReadFromStream(Stream stream, EpubReadingOptions options = 0) { return(CreateFactory().ReadBookAsync(stream, options)); }