protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter) { var projectController = SdlTradosStudio.Application.GetController <ProjectsController>(); ProjectBackup.CreateProjectBackup(projectController.CurrentProject.FilePath); multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerPreProcessor())); }
protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter) { if (!AgreementMethods.UserAgreed()) { CancelHelper.CancelTaskIfRequested(true); } if (!_settings.ShouldAnonymize ?? false) { return; } var projectController = SdlTradosStudio.Application.GetController <ProjectsController>(); var selectedPatternsFromGrid = _settings.RegexPatterns.Where(e => e.ShouldEnable).ToList(); if (projectController.CurrentProject != null) { ProjectBackup.CreateProjectBackup(projectController.CurrentProject.FilePath); } var key = _settings.EncryptionKey == "<dummy-encryption-key>" ? "" : AnonymizeData.DecryptData(_settings.EncryptionKey, Constants.Key); multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerPreProcessor(selectedPatternsFromGrid, key, _settings.EncryptionState.HasFlag(State.PatternsEncrypted)))); ParseRestOfFiles(projectController, selectedPatternsFromGrid, key); }
protected override void OnInitializeTask() { ProjectBackup.CreateProjectBackup((Project as FileBasedProject)?.FilePath); _restOfFilesParser = new RestOfFilesParser(); _settings = GetSetting <AnonymizerSettings>(); }
protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter) { var projectController = SdlTradosStudio.Application.GetController <ProjectsController>(); var selectedPatternsFromGrid = _settings.RegexPatterns.Where(e => e.ShouldEnable).ToList(); ProjectBackup.CreateProjectBackup(projectController.CurrentProject.FilePath); multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerPreProcessor(selectedPatternsFromGrid))); }
protected override void OnInitializeTask() { if (_projectController.CurrentProject != null) { ProjectBackup.CreateProjectBackup(_projectController.CurrentProject.FilePath); } _restOfFilesParser = new RestOfFilesParser(); _settings = GetSetting <AnonymizerSettings>(); }
public bool BuildBaseProject(ProjectInstallInfo installedProjectInfo, IDirectoryInfo projectBackupDir, string baseProjectPath) { if (!projectBackupDir.Exists) throw new ArgumentException("Path does not exist.", "projectBackupPath"); if (string.IsNullOrEmpty(installedProjectInfo.ProjectVersionInfo.BackupFileName)) throw new ArgumentException("BackupFileName is not set.", "projectInfo"); IFileInfo backupFile = projectBackupDir.GetFiles(installedProjectInfo.ProjectVersionInfo.BackupFileName).FirstOrDefault(); if (backupFile == null) { throw new ApplicationException(string.Format("Project backup file {0} does not exist.", Path.Combine(projectBackupDir.FullName, installedProjectInfo.ProjectVersionInfo.BackupFileName))); } IDirectoryInfo baseDir = FileSystem.FileSystem.GetDirectoryInfo(baseProjectPath); if (!baseDir.Exists) baseDir.Create(); var bundlesToInstall = installedProjectInfo.BundlesApplied .OrderBy(b => b.Version.Major) .ThenBy(b => b.Version.Minor) .ThenBy(b => b.Version.Build) .ThenBy(b => b.Version.Revision); //ensure we can find all the bundle files foreach (BundleInfo bundleInfo in bundlesToInstall) { if (!BundleExistsInRepository(projectBackupDir, bundleInfo.FileName)) { _log.Error(string.Format("The bundle file \"{0}\" could not be found.", bundleInfo.FileName)); Environment.Exit(-1); } } var backup = new ProjectBackup(backupFile.FullName); var workspace = new ProjectWorkspace(baseProjectPath); workspace.RestoreProjectFromBackup(backup); IProject project = new Project(workspace); var pcs = new SimpleProjectContextService(project); ApplicationContext.Current.Services.Add(typeof(IProjectContextService), pcs); var installResults = bundlesToInstall.Select(bundleInfo => InstallBundle(projectBackupDir.FullName, bundleInfo.FileName, project)); return installResults.All(result => result); }