protected override void OnInitializeTask() { var fileLanguageDirections = TaskFiles.Select(x => x.GetLanguageDirection().TargetLanguage.IsoAbbreviation).Distinct(); if (fileLanguageDirections.Count() > 1) { throw new Exception( $"This batch task can only be applied to one language direction at a time. Select only files with same language direction and try again."); } else if (fileLanguageDirections.Count() == 0) { throw new Exception( $"No target files selected."); } this.collectedSentencePairCount = 0; this.settings = GetSetting <FinetuneBatchTaskSettings>(); this.opusCatOptions = new OpusCatOptions(new Uri(this.settings.ProviderOptions)); //Use project guid in case no model tag specified if (this.opusCatOptions.modelTag == "") { this.opusCatOptions.modelTag = this.Project.GetProjectInfo().Id.ToString(); } //Get instances of the translation memories included in the project. this.tms = this.InstantiateProjectTms(); this.ProjectTranslations = new Dictionary <Language, List <Tuple <string, string> > >(); this.ProjectNewSegments = new Dictionary <Language, List <string> >(); this.ProjectFuzzies = new Dictionary <Language, List <TranslationUnit> >(); this.sourceVisitor = new OpusCatProviderElementVisitor(); this.targetVisitor = new OpusCatProviderElementVisitor(); base.OnInitializeTask(); }
private void ExportFiles() { var saveFolder = targetSettings.SaveFolder; if (Directory.Exists(saveFolder)) { var settings = GetSetting <ExportFilesSettings>(); // Store current settings so they can be restored later var exportLocation = settings.GetSetting <string>("ExportLocation"); var fileVersion = settings.GetSetting <ExportFileVersion>("ExportFileVersion"); settings.BeginEdit(); settings.GetSetting <string>("ExportLocation").Value = saveFolder; settings.GetSetting <ExportFileVersion>("ExportFileVersion").Value = ExportFileVersion.Native; settings.EndEdit(); Project.UpdateSettings(settings.SettingsBundle); try { Project.RunAutomaticTask(TaskFiles.GetIds(), AutomaticTaskTemplateIds.ExportFiles); } finally { // Restore settings.BeginEdit(); settings.GetSetting <string>("ExportLocation").Value = exportLocation; settings.GetSetting <ExportFileVersion>("ExportFileVersion").Value = fileVersion; settings.EndEdit(); Project.UpdateSettings(settings.SettingsBundle); } } }
private List <ProjectFile> GetUnparsedFiles(ProjectsController projectController) { var project = projectController.CurrentProject ?? projectController.SelectedProjects.ToList()[0]; var projectFiles = project.GetTargetLanguageFiles(); var taskFilesIds = TaskFiles.GetIds(); var unparsedFiles = projectFiles.Where(file => !taskFilesIds.Contains(file.Id)).ToList(); return(unparsedFiles); }
public async Task UploadFile(TaskFiles taskFiles) { try { await _context.TaskFiles.AddAsync(taskFiles); await _context.SaveChangesAsync(); } catch (Exception e) { throw new Exception(e.Message); } }
private List <ProjectFile> GetUnparsedFiles(ProjectsController projectController) { var projectFiles = projectController.CurrentProject.GetTargetLanguageFiles(); var unParsedProjectFiles = new List <ProjectFile>(); foreach (var file in projectFiles) { if (TaskFiles.GetIds().Contains(file.Id)) { continue; } unParsedProjectFiles.Add(file); } return(unParsedProjectFiles); }
protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter) { if (!AgreementMethods.UserAgreed()) { CancelHelper.CancelTaskIfRequested(true); } if (!_settings.ShouldDeanonymize ?? false) { return; } var projectController = SdlTradosStudio.Application.GetController <ProjectsController>(); multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new DecryptDataProcessor(_settings))); var project = projectController.CurrentProject ?? projectController.SelectedProjects.ToList()[0]; var projectFiles = project.GetTargetLanguageFiles(); var unParsedProjectFiles = new List <ProjectFile>(); foreach (var file in projectFiles) { if (TaskFiles.GetIds().Contains(file.Id)) { continue; } unParsedProjectFiles.Add(file); } var editor = SdlTradosStudio.Application.GetController <EditorController>(); var activeDocs = editor.GetDocuments().ToList(); foreach (var activeDoc in activeDocs) { Application.Current.Dispatcher.Invoke(() => { editor.Close(activeDoc); }); } foreach (var file in unParsedProjectFiles) { var converter = DefaultFileTypeManager.CreateInstance(true).GetConverterToDefaultBilingual(file.LocalFilePath, file.LocalFilePath, null); var contentProcessor = new DecryptDataProcessor(_settings); converter.AddBilingualProcessor(new BilingualContentHandlerAdapter(contentProcessor)); converter.Parse(); } }
public override void TaskComplete() { if (!settings.CopyToTarget) { Project.RunAutomaticTask(TaskFiles.GetIds(), AutomaticTaskTemplateIds.PseudoTranslateFiles); } foreach (var file in TaskFiles) { TestFiles(file); } RestoreFiles(); CreateReport("Fail Safe Task Report", "Determines whether native file generation is possible", root.ToString()); // Report any errors to prevent subsequent tasks from running errorMsgReporter.ReportErrors(); }
private void CreateWizardContext() { var selectedIds = TaskFiles.Select(projectFile => projectFile.Id.ToString()).ToList(); _project = GetProjectModel(Project as FileBasedProject, selectedIds); var settings = GetSettings(); _wizardContext = new WizardContext(Enumerators.Action.Export, settings) { Completed = false, Project = _project, Owner = Enumerators.Controller.Files, // TODO: check if Files or Projects controller DateTimeStamp = _exportSettings.DateTimeStamp, ExportOptions = _exportSettings.ExportOptions, LocalProjectFolder = _exportSettings.LocalProjectFolder, TransactionFolder = _exportSettings.TransactionFolder, ProjectFiles = _project.ProjectFiles, AnalysisBands = GetAnalysisBands(Project as FileBasedProject) }; }
private string GetProjectFolder() { var first = TaskFiles.FirstOrDefault(); return(Path.GetDirectoryName(first.LocalFilePath)); }
// Taskの追加 public void AddTask(Task _task) { Tasks.Add(_task); TaskFiles.Add(_task.FileName); }