public void OneTimeSetUp() { var dom = new HtmlDom(imageBook, true); _spreadsheetFolder = new TemporaryFolder("SpreadsheetImagesTests"); _bookFolder = new TemporaryFolder("SpreadsheetImagesTests_Book"); var mockLangDisplayNameResolver = new Mock <ILanguageDisplayNameResolver>(); mockLangDisplayNameResolver.Setup(x => x.GetLanguageDisplayName("en")).Returns("English"); _exporter = new SpreadsheetExporter(mockLangDisplayNameResolver.Object); var path = SIL.IO.FileLocationUtilities.GetDirectoryDistributedWithApplication(_pathToTestImages); // We need all these files in one place so we can verify that all of them get copied except placeHolder.png foreach (var name in new [] { "BloomWithTaglineAgainstLight.svg", "man.jpg", "Mars 2.png", "lady24b.png", "empty-file.jpg" }) { RobustFile.Copy(Path.Combine(path, name), Path.Combine(_bookFolder.FolderPath, name)); } var placeHolderSource = Path.Combine(BloomFileLocator.FactoryCollectionsDirectory, "template books", "Basic Book", "placeHolder.png"); RobustFile.Copy(placeHolderSource, Path.Combine(_bookFolder.FolderPath, "placeHolder.png")); _progressSpy = new ProgressSpy(); _sheetFromExport = _exporter.ExportToFolder(dom, _bookFolder.FolderPath, _spreadsheetFolder.FolderPath, out string outputPath, _progressSpy, OverwriteOptions.Overwrite); _rowsFromExport = _sheetFromExport.ContentRows.ToList(); _sheetFromFile = InternalSpreadsheet.ReadFromFile(outputPath); _rowsFromFile = _sheetFromFile.ContentRows.ToList(); }
public static int Handle(SpreadsheetExportParameters options) { try { var collectionSettings = GetCollectionSettings(options.BookPath); var exporter = new SpreadsheetExporter(null, collectionSettings); if (!string.IsNullOrEmpty(options.ParamsPath)) { exporter.Params = SpreadsheetExportParams.FromFile(options.ParamsPath); } var dom = new HtmlDom(XmlHtmlConverter.GetXmlDomFromHtmlFile(options.BookPath, false)); string imagesFolderPath = Path.GetDirectoryName(options.BookPath); // It's too dangerous to use the output path they gave us, since we're going to wipe out any existing // content of the directory we pass to ExportToFolder. If they give us a parent folder by mistake, that // could be something huge, like "my documents". So assume it IS a parent folder, and make one within it. string outputFolderPath = Path.Combine(options.OutputPath, Path.GetFileNameWithoutExtension(imagesFolderPath)); var _sheet = exporter.ExportToFolder(dom, imagesFolderPath, outputFolderPath, out string unused, null, options.Overwrite ? OverwriteOptions.Overwrite: OverwriteOptions.Quit); return(0); // all went well } catch (Exception ex) { Debug.WriteLine(ex.Message); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); return(1); } }
public void OneTimeSetUp() { var dom = new HtmlDom(dataDivBook, true); _spreadsheetFolder = new TemporaryFolder("SpreadsheetXmatterTests"); var mockLangDisplayNameResolver = new Mock <ILanguageDisplayNameResolver>(); mockLangDisplayNameResolver.Setup(x => x.GetLanguageDisplayName("en")).Returns("English"); mockLangDisplayNameResolver.Setup(x => x.GetLanguageDisplayName("es")).Returns("Español"); _exporter = new SpreadsheetExporter(mockLangDisplayNameResolver.Object); _sheetFromExport = _exporter.ExportToFolder(dom, "fakeImagesFolderpath", _spreadsheetFolder.FolderPath, out string outputPath, null, OverwriteOptions.Overwrite); _rowsFromExport = _sheetFromExport.ContentRows.ToList(); _sheetFromFile = InternalSpreadsheet.ReadFromFile(outputPath); _rowsFromFile = _sheetFromFile.ContentRows.ToList(); }