Пример #1
0
        public void StopExternalProcessExecution(ScriptPart scriptPart)
        {
            StopWatch();

            long   elapsed = Elapsed > 1000 ? Elapsed / 1000 : Elapsed;
            string unit    = Elapsed > 1000 ? "s" : "ms";

            Done(Draw.Prefix, "External process " + "'{0}'".Pastel(Color.DarkGray) + " executed in {1} {2}", scriptPart.Program, elapsed, unit);
            NewLine();
        }
Пример #2
0
        public static string Perform(string[] lines)
        {
            ScriptPart scriptPart = new ScriptPart(lines);

            scriptPart.ScriptLines = new List <string>(ScriptOptimizer.Routine(scriptPart.ScriptLines.ToArray()));

            string outHtml = scriptPart.GetString();

            outHtml = CommonUtils.ToHTMLNewLine(outHtml);
            return(outHtml);
        }
Пример #3
0
            /// <summary>
            /// Initializes a new instance of the <see cref="IG"/> class.
            /// <summary>
            /// <param name="_Parent"></param>
            override public void Initialize(XL2SO _Parent)
            {
                m_Parent = _Parent;

                m_General          = new General();
                m_ScriptPart       = new ScriptPart();
                m_ExcelPart        = new ExcelPart();
                m_InstanceListPart = new InstanceListPart();
                m_OutputPart       = new OutputPart();

                m_General.FoldoutStyle           = new GUIStyle("FoldOut");
                m_General.FoldoutStyle.fontStyle = FontStyle.Bold;
            }
Пример #4
0
        /// <summary>
        /// Starts an external process.
        /// </summary>
        /// <param name="scriptPart">Script part which represents the external process to start.</param>
        /// <returns>Cli Return Code</returns>
        private int StartExternalProcess(ScriptPart scriptPart)
        {
            int result = 0;

            try
            {
                Process proc = new Process
                {
                    StartInfo = new ProcessStartInfo
                    {
                        FileName               = scriptPart.Program,
                        Arguments              = scriptPart.Arguments,
                        UseShellExecute        = false,
                        RedirectStandardOutput = true,
                        CreateNoWindow         = true
                    }
                };

                proc.Start();
                _logger.NewLine();
                while (!proc.StandardOutput.EndOfStream)
                {
                    string line = proc.StandardOutput.ReadLine();
                    _logger.PrintExternalScriptOutput(line);
                }
                _logger.NewLine();
            }
            catch (Exception e)
            {
                _logger.ExternalScriptException(e);

                result = 1;
            }

            return(result);
        }
Пример #5
0
 public void StartExternalProcessExecution(ScriptPart scriptPart)
 {
     Info("Executing external process: " + "'{0} {1}'".Pastel(Color.DarkGray), scriptPart.Program, scriptPart.Arguments);
     ResetAndStartWatch();
 }