private ConvertResult ConvertOoxToDaisy(string inputFile, string outputFile, Hashtable listMathMl, Hashtable table, string control, string output_Pipeline) { try { using (ConverterForm form = new ConverterForm(this.converter, inputFile, outputFile, this.resourceManager, true, listMathMl, table, control, output_Pipeline)) { if (DialogResult.OK != form.ShowDialog()) { return(ConvertResult.Cancel()); } if (!String.IsNullOrEmpty(form.ValidationError)) { OnValidationError(form.ValidationError, inputFile, outputFile); return(ConvertResult.ValidationError(form.ValidationError)); } if (form.HasLostElements) { OnLostElements(inputFile, outputFile, form.LostElements); if (!(AddInHelper.IsSingleDaisyTranslate(control) && this.ScriptToExecute == null) && IsContinueDTBookGenerationOnLostElements()) { ExecuteScript(outputFile); } } else if (AddInHelper.IsSingleDaisyTranslate(control) && this.ScriptToExecute == null) { OnSuccess(); } else { ExecuteScript(outputFile); } } } catch (IOException e) { // this is meant to catch "file already accessed by another process", though there's no .NET fine-grain exception for this. AddinLogger.Error(e); OnUnknownError("UnableToCreateOutputLabel", e.Message); return(ConvertResult.UnknownError(e.Message + Environment.NewLine + e.StackTrace)); } catch (Exception e) { AddinLogger.Error(e); OnUnknownError("DaisyUnexpectedError", e.GetType() + ": " + e.Message + " (" + e.StackTrace + ")"); if (File.Exists(outputFile)) { File.Delete(outputFile); } return(ConvertResult.UnknownError(e.Message + Environment.NewLine + e.StackTrace)); } return(ConvertResult.Success()); }
/// <summary> /// Function to translate all sub documents in the Master Document /// </summary> /// <param name="outputfilepath">Path of the output File</param> /// <param name="subList">List of All documents</param> /// <param name="HTable">Document Properties</param> /// <param name="tempInputFile">Duplicate for the Input File</param> public void OoxToDaisySub(String outputfilepath, ArrayList subList, Hashtable HTable, String tempInputFile, string control, Hashtable listMathMl, string output_Pipeline, ArrayList notTranslatedDoc) { flag = 0; validationErrorMsg = ""; using (Progress progress = new Progress(this.converter, this.resourceManager, outputfilepath, subList, HTable, tempInputFile, control, listMathMl, output_Pipeline)) { DialogResult dr = progress.ShowDialog(); if (dr == DialogResult.OK) { validationErrorMsg = progress.ValidationError; String messageDocsSkip = DocumentSkipped(notTranslatedDoc); if (!string.IsNullOrEmpty(validationErrorMsg)) { validationErrorMsg = validationErrorMsg + messageDocsSkip; OnMasterSubValidationError(validationErrorMsg); } else if (progress.HasLostElements) { OnLostElements(string.Empty, outputfilepath + "\\1.xml", progress.LostElements); if (AddInHelper.PipelineIsInstalled() && AddInHelper.buttonIsSingleWordToXMLConversion(control) && ScriptToExecute != null && IsContinueDTBookGenerationOnLostElements()) { try { ExecuteScript(outputfilepath + "\\" + Path.GetFileNameWithoutExtension(tempInputFile) + ".xml"); } catch (Exception e) { AddinLogger.Error(e); OnUnknownError(e.Message); } } } else { if (!string.IsNullOrEmpty(messageDocsSkip)) { OnSuccessMasterSubValidation(ResManager.GetString("SucessLabel") + messageDocsSkip); } else { if (AddInHelper.IsSingleDaisyTranslate(control) && ScriptToExecute == null) { OnSuccess(); } else { ExecuteScript(outputfilepath + "\\" + Path.GetFileNameWithoutExtension(tempInputFile) + ".xml"); } } } } else if (dr == DialogResult.Cancel) { DeleteDTBookFilesIfExists(outputfilepath); } else { validationErrorMsg = progress.ValidationError; if (!string.IsNullOrEmpty(validationErrorMsg)) { OnMasterSubValidationError(validationErrorMsg); } } } DeleteTemporaryImages(); }