예제 #1
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);
                }
            }
        }
예제 #2
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);
        }
예제 #3
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);
        }
예제 #4
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();
            }
        }
예제 #5
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();
        }