void btnMergeFiles_Click(object sender, EventArgs e) { if (!Paths.ValidateModsDirectory() || (treConflicts.FileNodes.Any(node => ModFile.IsScript(node.Text)) && !Paths.ValidateScriptsDirectory()) || (treConflicts.FileNodes.Any(node => ModFile.IsBundle(node.Text)) && !Paths.ValidateBundlesDirectory())) { return; } var mergedModName = Paths.RetrieveMergedModName(); if (mergedModName == null) { return; } InitializeProgressScreen("Merging"); Program.Inventory = MergeInventory.Load(Paths.Inventory); var merger = new FileMerger(Program.Inventory, OnMergeProgressChanged, OnMergeComplete); var fileNodes = treConflicts.FileNodes.Where(node => node.GetTreeNodes().Count(modNode => modNode.Checked) > 1); merger.MergeByTreeNodesAsync(fileNodes, mergedModName); }
public void MergeScripts_SomeFilesLackUseStatement_AggregatedFileOnlyOneUseStatement() { //Arrange var file1 = "use gtdb2_devel" + Environment.NewLine + "Command 1" + Environment.NewLine + "Command 2"; var file2 = "Command 3"; var file3 = " use [gtdb2_devel]" + Environment.NewLine + "Command 4"; //Act var outstream = new StringReader(); var fileMerger = new FileMerger(outstream); fileMerger.Append(new StringReader(file1)); fileMerger.Append(new StringReader(file2)); fileMerger.Append(new StringReader(file3)); //Assert var expected = "use <enter database>" + Environment.NewLine + "Command 1" + Environment.NewLine + "Command 2" + Environment.NewLine + "Command 3" + Environment.NewLine + "Command 4" + Environment.NewLine; var actual = outstream.GetReader().ReadToEnd(); Assert.AreEqual(expected, actual); }
public bool MergeFile(Guid id, string name) { FileMerger merger = new FileMerger(); merger.Merge(Path.Combine(Configurations.UploadsFolder, id.ToString()), name); return(true); }
public void Sort() { SingleSortedFiles = new List <string>(); if (new FileInfo(InFile).Length < this.BufferSize) { var ssf = new SingleSortFile(InFile, OutFile, StringCompare, Encoding); ssf.SortFile(); } else { // Split the Files this.Splitter.SplitFiles(); // Sort Each File foreach (var file in this.Splitter.OutFiles) { var t = file + ".OUT"; SingleSortedFiles.Add(t); var ssf = new SingleSortFile(file, t, StringCompare, Encoding); ssf.SortFile(); } // Merge Them Back var fm = new FileMerger(new MergeFileOptions(SingleSortedFiles, OutFile, StringCompare) { BufferSize = this.BufferSize, EstimatedRecordLength = this.EstimatedRecordLength }); fm.MergeFiles(); } }
private async Task handleNewFileWithExistingFile(WeatherDataCollection newWeatherCollection) { var existingFileDialog = new ContentDialog { Title = "File Already Loaded", Content = "A file has already been loaded, how would you like to handle this?", PrimaryButtonText = "Replace Current File", SecondaryButtonText = "Merge the Files" }; var result = await existingFileDialog.ShowAsync(); switch (result) { case ContentDialogResult.Primary: this.currentWeatherCollection = newWeatherCollection; break; case ContentDialogResult.Secondary: { var fileMerger = new FileMerger(); newWeatherCollection = await fileMerger.MergeWeatherDataCollections(this.currentWeatherCollection, newWeatherCollection); this.currentWeatherCollection = newWeatherCollection; break; } } }
public void WriteResult(string outputFile) { WritePartition(false); // write last partition _buffer.Dispose(); _buffer = null !; GC.Collect(); var outputDirectory = Path.GetDirectoryName(Path.GetFullPath(outputFile)); if (string.IsNullOrWhiteSpace(outputDirectory)) { outputDirectory = "."; } var merger = new FileMerger(new MergeOptions { DeletePartitions = true, FileMask = Constants.PartitionFileName, Folder = outputDirectory, Output = outputFile }); merger.Merge(); }
public void TestMethod1() { FileMerger m = new FileMerger(); m.Merge(@"C:\Source\Repos\large-file-upload-from-browser\LargeFileUpload.Web\Content\Uploads\a3cedb61-0fcc-47e0-b05c-059139e07965", "PRD_Standardization.docx"); Assert.IsTrue(true); }
public void TestMoveFileMergerDup() { Merger(); IFileHandler fileOverwriter = new FileMerger <Compress>(@"D:\TestFileHandler\FileMerger\Source", new List <string> { @"D:\TestFileHandler\FileMerger\Dest" }, _pr); fileOverwriter.MoveFiles(); fileOverwriter.DeleteTemps(); }
public void TestCopyFileMerger() { Initilize("FileMerger"); IFileHandler fileOverwriter = new FileMerger <Compress>(@"D:\TestFileHandler\FileMerger\Source", new List <string> { @"D:\TestFileHandler\FileMerger\Source" }, _pr); fileOverwriter.CopyFiles(); fileOverwriter.DeleteTemps(); }
private void MergeFiles() { bool isSuccess = false; try { // updateLog(string.Format("\r\nStart Time: {0}", DateTime.Now.ToLongTimeString())); updateLog(string.Format(Properties.Resources.msgMerging, AppOptions.mergeOrigFile)); Application.DoEvents(); FileMerger _merger = new FileMerger(AppOptions.mergeOrigFile, AppOptions.mergeInPath, AppOptions.mergeInfoFile); _merger.OnProgress += new FileMerger.OnProgressDelegate(updateProgress); _merger.Merge(); if (_merger.FilesCount.HasValue) { updateLog(string.Format(Properties.Resources.msgMergeScc, _merger.FilesCount.Value)); } else { updateLog(Properties.Resources.errMergeNoFiles); } isSuccess = true; // updateLog(string.Format("End Time: {0}\r\n", DateTime.Now.ToLongTimeString())); } catch (Exception ex) { updateLog(string.Format(Properties.Resources.errMergeUnexp, ex.Message)); } updateProgress(100); if (isSuccess) { MessageBox.Show(Properties.Resources.msbMergeFinished, Properties.Resources.MergeTitle, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(Properties.Resources.errMerge, Properties.Resources.MergeTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } changeButtonsView(true); }
private static int ExecuteMerge(MergeOptions options) { if (!options.Validate()) { return(1); } var merger = new FileMerger(options); var timer = Stopwatch.StartNew(); var partitionCount = Directory.GetFiles(options.Folder, options.FileMask).Length; Console.WriteLine($"Merge {partitionCount} partition started..."); merger.Merge(); Console.WriteLine($"Partitions merge executed at {timer.Elapsed}"); return(0); }
public void MergeFile(string id, string name) { FileMerger merger = new FileMerger(); merger.Merge(Path.Combine(Configurations.UploadsFolder, id.ToString()), name); }
public SqlScriptMerger(FileMerger fileMerger, FileReader fileReader) { _fileReader = fileReader; _innerMerger = fileMerger; }
public void It_Should_Merge_Files() { FileMerger.AssertWasCalled(x => x.Merge(Files1, Destination)); }
private void ProcessFunctionFile(FunctionFileApp app, string fileName) { try { if (!File.Exists(fileName)) return; DateTime modified; if (!app.TryGetFileDate(fileName, out modified)) modified = DateTime.MinValue; if (modified == DateTime.MinValue || Math.Abs(File.GetLastWriteTime(fileName).Subtract(modified).TotalSeconds) >= 1.0) { var merger = new FileMerger(); merger.MergeFile(fileName, false); var fileTitle = Path.GetFileNameWithoutExtension(fileName); var model = new CodeModel.CodeModel(merger.MergedContent, fileName); var funcs = (from f in model.FunctionSignatures where string.Equals(f.Name, fileTitle, StringComparison.OrdinalIgnoreCase) select f).ToArray(); if (funcs.Length > 0) { foreach (var func in funcs) { app.AddFunction(func.Name, func.Signature); } } else { app.RemoveFunctionIgnoreCase(fileTitle); } foreach (var fn in merger.FileNames) { app.UpdateFile(fn, File.GetLastWriteTime(fn)); } } } catch (Exception) { try { // Don't show the error because this is just a non-critical background thread. if (File.Exists(fileName)) app.UpdateFile(fileName, File.GetLastWriteTime(fileName)); } catch (Exception) { } } }
private void ProcessFile(FFDatabase db, FFApp app, ScanInfo scan) { try { if (!File.Exists(scan.fileName)) { return; } if (FileContextUtil.IsLocalizedFile(scan.fileName)) { return; } var fileContext = CodeModel.FileContextUtil.GetFileContextFromFileName(scan.fileName); if (fileContext == FileContext.Include) { return; } DateTime modified; if (!app.TryGetFileDate(scan.fileName, out modified)) { modified = DateTime.MinValue; } var fileModified = File.GetLastWriteTime(scan.fileName); if (!scan.forceScan) { if (modified != DateTime.MinValue && fileModified.Subtract(modified).TotalSeconds < 1.0) { return; } } var ffFile = app.GetFileForScan(db, scan.fileName); Log.Debug("Processing file: {0} (modified={1}, last modified={2})", scan.fileName, fileModified, modified); if (scan.mode == FFScanMode.Exports) { ProbeToolsPackage.Instance.SetStatusText(string.Format("DkTools background scanning file: {0} (exports only)", scan.fileName)); } else { ProbeToolsPackage.Instance.SetStatusText(string.Format("DkTools background scanning file: {0}", scan.fileName)); } var fileTitle = Path.GetFileNameWithoutExtension(scan.fileName); var defProvider = new CodeModel.DefinitionProvider(_appSettings, scan.fileName); var fileContent = File.ReadAllText(scan.fileName); var fileStore = new CodeModel.FileStore(); var merger = new FileMerger(); merger.MergeFile(_appSettings, scan.fileName, null, false, true); var includeDependencies = (from f in merger.FileNames select new Preprocessor.IncludeDependency(f, false, true, merger.GetFileContent(f))).ToArray(); var model = fileStore.CreatePreprocessedModel(_appSettings, merger.MergedContent, scan.fileName, false, string.Concat("Function file processing: ", scan.fileName), includeDependencies); var className = fileContext.IsClass() ? Path.GetFileNameWithoutExtension(scan.fileName) : null; var classList = new List <FFClass>(); var funcList = new List <FFFunction>(); using (var txn = db.BeginTransaction()) { ffFile.UpdateFromModel(model, db, fileStore, fileModified, scan.mode); txn.Commit(); } if (ffFile.Visible) { app.OnVisibleFileChanged(ffFile); } else { app.OnInvisibleFileChanged(ffFile); } #if DEBUG FFDatabase.DumpMemoryStats(); #endif } catch (Exception ex) { Log.Error(ex, "Exception when background processing function name: {0} (mode: {1})", scan.fileName, scan.mode); } }
private CodeFile ProcessIncludeFile(string fullPathName) { try { Trace.WriteLine(string.Concat("Processing include file: ", fullPathName)); var merger = new FileMerger(); merger.MergeFile(fullPathName, true); var content = merger.MergedContent; if (string.IsNullOrEmpty(content)) return null; var file = new CodeFile(this); file.Parse(content, fullPathName); return file; } catch (Exception ex) { Trace.WriteLine(string.Format("Exception when merging file '{0}': {1}", fullPathName, ex)); return null; } }