public DiskProfileBase(IEventAggregator events, params IConverterProfile[] converters) : base(events, converters) { MetadataProvider = new MetadataProviderBase(new BasicMetadataProvider(), new FileBasedMetadataProvider()); CommandProviders.Add(new FileBasedCommandProvider()); //Open, Cut, Copy, Paste etc DeleteCommand = ScriptCommands.AssignProperty("{DeleteEntries}", "Length", "{DeleteEntries-Length}", //Assign DeleteEntries Length ScriptCommands.IfValue <int>(ComparsionOperator.GreaterThanOrEqual, "{DeleteEntries.Length}", 1, //If DeleteEntries Length >= 1 UIScriptCommands.MessageBoxYesNo("FileExplorer", "Delete {DeleteEntries[0]} and {DeleteEntries-Length} Item(s)?", //IfTrue CoreScriptCommands.DiskDeleteMultiple("{DeleteEntries}", true)))); CreateFolderCommand = CoreScriptCommands.DiskCreateFolder("{BaseFolder.Profile}", "{BaseFolder.FullPath}\\{FolderName}", "{CreatedFolder}", NameGenerationMode.Rename); }
public AppViewModel() { LogManagerFactory.DefaultConfiguration.AddTarget(LogLevel.Info, LogLevel.Fatal, new ConsoleTarget()); LogManagerFactory.DefaultConfiguration.IsEnabled = true; LogManagerFactory.DefaultLogManager.GetLogger <AppViewModel>().Log(LogLevel.Debug, "Test"); //AsyncUtils.RunSync(() => ScriptCommandTests.Test_DownloadFile()); // IScriptCommand diskTransferCommand = //ScriptCommands.ParsePath("{SourceFile}", "{Source}", //ScriptCommands.DiskParseOrCreateFolder("{DestinationDirectory}", "{Destination}", //IOScriptCommands.DiskTransfer("{Source}", "{Destination}", false, false))); //await ScriptRunner.RunScriptAsync(new ParameterDic() { // { "Profile", FileSystemInfoExProfile.CreateNew() }, // { "SourceFile", srcFile }, // { "DestinationFile", destFile } // }, copyCommand); //string tempDirectory = "C:\\Temp"; //string destDirectory = "C:\\Temp\\Destination1"; //string srcFile = System.IO.Path.Combine(tempDirectory, "file1.txt"); //string destFile = System.IO.Path.Combine(destDirectory, "file2.txt"); //AsyncUtils.RunSync(() => ScriptRunner.RunScriptAsync(new ParameterDic() { // { "Profile", FileExplorer.Models.FileSystemInfoExProfile.CreateNew() }, // { "SourceFile", srcFile }, // { "DestinationDirectory", destDirectory } //}, diskTransferCommand)); string tempDirectory = "C:\\Temp"; string destDirectory = "C:\\Temp\\Debug2"; string srcDirectory = "C:\\Temp\\aaaaabc"; IScriptCommand diskTransferCommand = CoreScriptCommands.ParsePath("{Profile}", srcDirectory, "{Source}", CoreScriptCommands.DiskParseOrCreateFolder("{Profile}", destDirectory, "{Destination}", IOScriptCommands.DiskTransfer("{Source}", "{Destination}", null, false, false))); AsyncUtils.RunSync(() => ScriptRunner.RunScriptAsync(new ParameterDic() { { "Profile", FileSystemInfoExProfile.CreateNew() } }, diskTransferCommand)); }
public static async Task Test_CopyFile() { string tempDirectory = "C:\\Temp"; string srcFile = System.IO.Path.Combine(tempDirectory, "File1.txt"); string destFile = System.IO.Path.Combine(tempDirectory, "File2.txt"); string signature = "Created by testCopyFile at " + DateTime.Now.ToString(); Directory.CreateDirectory(tempDirectory); using (var sw = File.CreateText(srcFile)) sw.WriteLine(signature); //File.Delete(destFile); IProfile fsiProfile = new FileSystemInfoExProfile(null, null); IScriptCommand copyCommand = CoreScriptCommands.ParsePath("{Profile}", "{SourceFile}", "{Source}", CoreScriptCommands.DiskParseOrCreateFile("{Profile}", "{DestinationFile}", "{Destination}", CoreScriptCommands.DiskOpenStream("{Source}", "{SourceStream}", FileExplorer.Defines.FileAccess.Read, CoreScriptCommands.DiskOpenStream("{Destination}", "{DestinationStream}", FileExplorer.Defines.FileAccess.Write, CoreScriptCommands.CopyStream("{SourceStream}", "{DestinationStream}")))) , ResultCommand.Error(new FileNotFoundException(srcFile)) ); //copyCommand = ScriptCommands.CopyFile("SourceFile", "DestinationFile"); copyCommand = serializeAndDeserializeCommand(copyCommand); await ScriptRunner.RunScriptAsync(new ParameterDic() { { "Profile", fsiProfile }, { "SourceFile", srcFile }, { "DestinationFile", destFile } }, copyCommand); string actual = null; using (var sr = File.OpenText(destFile)) { actual = sr.ReadLine(); } Assert.AreEqual(signature, actual); }
public static async Task Test_DownloadFile() { string downloadUrl = "http://www.quickzip.org/logo2.png"; string tempDirectory = "C:\\Temp"; string destFile = System.IO.Path.Combine(tempDirectory, "output.png"); IScriptCommand downloadCommand = CoreScriptCommands.Download("Url", "Stream", CoreScriptCommands.DiskParseOrCreateFile("{Profile}", "{DestinationFile}", "{Destination}", CoreScriptCommands.DiskOpenStream("{Destination}", "{DestinationStream}", FileExplorer.Defines.FileAccess.Write, CoreScriptCommands.CopyStream("{Stream}", "{DestinationStream}")))); //downloadCommand = ScriptCommands.DownloadFile("Url", "DestinationFile"); downloadCommand = serializeAndDeserializeCommand(downloadCommand); await ScriptRunner.RunScriptAsync(new ParameterDic() { { "Profile", new FileSystemInfoExProfile(null, null) }, { "Url", downloadUrl }, { "DestinationFile", destFile }, }, downloadCommand); }