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();
        }
Beispiel #2
0
        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);
                }
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        public async Task UploadFile(TaskFiles taskFiles)
        {
            try
            {
                await _context.TaskFiles.AddAsync(taskFiles);

                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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();
            }
        }
Beispiel #7
0
        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();
        }
Beispiel #8
0
        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)
            };
        }
Beispiel #9
0
        private string GetProjectFolder()
        {
            var first = TaskFiles.FirstOrDefault();

            return(Path.GetDirectoryName(first.LocalFilePath));
        }
Beispiel #10
0
 // Taskの追加
 public void AddTask(Task _task)
 {
     Tasks.Add(_task);
     TaskFiles.Add(_task.FileName);
 }