public override Object Evaluate(EvaluateParams evaluateParams) { var scriptArgs = new ScriptArgs(); var bindings = new Dictionary <string, object>(); bindings.Put(ExprNodeScript.CONTEXT_BINDING_NAME, evaluateParams.ExprEvaluatorContext.AgentInstanceScriptContext); for (int i = 0; i < Names.Length; i++) { bindings.Put(Names[i], Parameters[i].Evaluate(evaluateParams)); } scriptArgs.Bindings = bindings; try { var result = _scriptAction.Invoke(scriptArgs); if (Coercer != null) { result = Coercer.Invoke(result); } return(result); } catch (Exception e) { String message = "Unexpected exception executing script '" + ScriptName + "' for statement '" + StatementName + "' : " + e.Message; Log.Error(message, e); throw new EPException(message, e); } }
private void PreviewClose(object sender, ScriptArgs e) { FormPreview formPreview = (FormPreview)sender; if (formPreview.GroupBoxText.Equals("sp_configure Preview", StringComparison.OrdinalIgnoreCase)) { Sp_configure = e.Script; } if (formPreview.GroupBoxText.Equals("PowerShell Preview", StringComparison.OrdinalIgnoreCase)) { psTemplateChanged = e.Script; } }
private object ExecuteWithScriptArgs(ScriptSource script, ScriptArgs args) { var engine = new ScriptEngine(); foreach (var binding in args.Bindings) { engine.SetGlobalValue(binding.Key, binding.Value); } engine.SetGlobalValue("clr", new ClrBinding()); engine.SetGlobalFunction("print", new Action <object>(value => Console.Out.WriteLine(value))); engine.SetGlobalFunction("render", new Action <object>(value => value.Render())); return(engine.Evaluate(script)); }
public void FromVegas(Vegas Vegas, String ScriptFile, XmlDocument ScriptSettings, ScriptArgs Args) { if (ArgsHasSetup(Args)) // config mode { RunSetup(Vegas); } else { var renderset = new RenderSet(); var form = new RegionRenderForm(Vegas, renderset); if (DialogResult.OK != form.ShowDialog()) return; //renderset.Render(Vegas); } }
private object ExecuteWithScriptArgs(ScriptSource script, ScriptArgs args) { var engine = new ScriptEngine(); engine.EnableExposedClrTypes = true; engine.CompatibilityMode = CompatibilityMode.Latest; foreach (var binding in args.Bindings) { engine.SetGlobalValue(binding.Key, binding.Value); } engine.SetGlobalValue("clr", new ClrBinding()); engine.SetGlobalFunction("print", new Action <object>(value => Console.Out.WriteLine(value))); engine.SetGlobalFunction("render", new Action <object>(value => CompatExtensions.RenderAny(value))); return(engine.Evaluate(script)); }
public object EvaluateInternal(ScriptArgs scriptArgs) { try { var result = _scriptAction.Invoke(scriptArgs); if (Coercer != null) { result = Coercer.Invoke(result); } return(result); } catch (Exception e) { string message = "Unexpected exception executing script '" + ScriptName + "' for statement '" + StatementName + "' : " + e.Message; Log.Error(message, e); throw new EPException(message, e); } }
private object ExecuteWithScriptArgs(ExpressionScriptProvided expressionScript, ScriptArgs args) { using (var engine = new Microsoft.ClearScript.Windows.JScriptEngine()) { var primitives = new ExpandoObject(); var primitivesAsDictionary = (IDictionary <string, object>)primitives; foreach (var binding in args.Bindings) { if (IsPrimitive(binding.Value)) { primitivesAsDictionary.Add(binding.Key, binding.Value); } else { engine.AddHostObject(binding.Key, binding.Value); } } ExposeTypesToEngine(engine); engine.AddHostObject("__variables", primitives); engine.AddHostObject("host", new XHostFunctions()); engine.AddHostObject("debug", new DebugFunctions(this)); var writer = new StringWriter(); WritePolyfills(writer); writer.WriteLine("var __result = (function() {"); foreach (var binding in primitivesAsDictionary) { writer.WriteLine("var {0} = __variables.{0};", binding.Key); } writer.WriteLine(expressionScript.Expression); writer.WriteLine("})();"); engine.Execute(writer.ToString()); var result = engine.Script.__result; if ((result is VoidResult) || (result is Undefined)) { return(null); } return(result); } }
public void FromVegas(Vegas vegas) { try { _vegas = vegas; ScriptArgs args = Script.Args; if (args.Count > 0) { _closeonfinish = System.Convert.ToBoolean(args.ValueOf("closeonfinish") ?? "false"); _savewhendone = System.Convert.ToBoolean(args.ValueOf("savewhendone") ?? "false"); _makeveg = System.Convert.ToBoolean(args.ValueOf("makeveg") ?? "false"); _file = args.ValueOf("file"); } else { var dialog = new OpenFileDialog { Filter = ".srt files (*.srt)|*.srt", CheckPathExists = true, InitialDirectory = vegas.Project.FilePath }; DialogResult result = dialog.ShowDialog(); vegas.UpdateUI(); if (result == DialogResult.OK) { _file = Path.GetFullPath(dialog.FileName); } else { return; } } if (_makeveg) { Media media = vegas.Project.MediaPool.AddMedia(Script.Args.ValueOf("media")); foreach (MediaStream stream in media.Streams) { if (stream is VideoStream) { VideoTrack t = vegas.Project.AddVideoTrack(); VideoEvent e = t.AddVideoEvent(new Timecode(), media.Length); e.ResampleMode = VideoResampleMode.Disable; e.AddTake(stream); } else if (stream is AudioStream) { AudioTrack t = vegas.Project.AddAudioTrack(); AudioEvent e = t.AddAudioEvent(new Timecode(), media.Length); e.AddTake(stream); } } vegas.SaveProject(Script.Args.ValueOf("output")); } using (FileStream fs = new FileStream(_file, FileMode.Open, FileAccess.Read)) using (StreamReader stream = new StreamReader(fs)) { while (!stream.EndOfStream) { string line = stream.ReadLine(); if (Regex.IsMatch(line, "^[0-9]+$")) { line = stream.ReadLine(); if (Regex.IsMatch(line, "^" + SRT_TIME_PATTERN + " --> " + SRT_TIME_PATTERN + "$")) { MatchCollection stamps = Regex.Matches(line, SRT_TIME_PATTERN); TimeSpan s = TimeSpan.ParseExact(stamps[0].Value, SRT_TIME_FORMAT, null); TimeSpan e = TimeSpan.ParseExact(stamps[1].Value, SRT_TIME_FORMAT, null); string t = string.Empty; while (!stream.EndOfStream) { line = stream.ReadLine(); if (!string.IsNullOrEmpty(line)) { if (!string.IsNullOrEmpty(t)) { t += "[br]"; } t += line; } else { break; } } Region r = Convert(s, e, t); if (r != null) { vegas.Project.Regions.Add(r); } } } } } if (_savewhendone) { vegas.SaveProject(); } if (_closeonfinish) { vegas.Exit(); } } catch (VegasException e) { Vegas.COM.ShowError(e.Title, e.Message); } }
private static bool ArgsHasSetup(ScriptArgs args) { return(args.Cast <ScriptArg>().Any(derp => string.Equals(derp.Value, RegionRenderStrings.ScriptSetupArg, StringComparison.InvariantCultureIgnoreCase))); }
public void FromVegas(Vegas Vegas, String ScriptFile, XmlDocument ScriptSettings, ScriptArgs Args) { if (ArgsHasSetup(Args)) // config mode { RunSetup(Vegas); } else { var renderset = new RenderSet(); var form = new RegionRenderForm(Vegas, renderset); if (DialogResult.OK != form.ShowDialog()) { return; } //renderset.Render(Vegas); } }
private async void PreviewActionCompleted(object sender, ScriptArgs e) { await ResponseFileDbSave(e.Script); }
private object ExecuteWithScriptArgs(ExpressionScriptProvided expressionScript, ScriptArgs args) { #if X86 || X64 using (var context = new JavascriptContext()) { foreach (var binding in args.Bindings) { context.SetParameter(binding.Key, binding.Value); } context.SetParameter("clr", new ClrBinding()); context.SetParameter("print", new Action <object>(value => Console.Out.WriteLine(value))); context.SetParameter("render", new Action <object>(value => value.Render())); return(context.Run(expressionScript.Expression)); } #else throw new UnsupportedOperationException("noesis engine is not supported outside of x86 and x64 builds"); #endif }
private static bool ArgsHasSetup(ScriptArgs args) { return args.Cast<ScriptArg>().Any(derp => string.Equals(derp.Value, RegionRenderStrings.ScriptSetupArg, StringComparison.InvariantCultureIgnoreCase)); }
private void ModifyClose(object sender, ScriptArgs e) { buttonReload.PerformClick(); }
public override string ToString() { var scriptArgs = ScriptArgs == null ? "" : string.Join(", ", ScriptArgs.Select(a => a.Key + ": " + a.Value)); return($"{ScriptPath}({scriptArgs})"); }