Exemplo n.º 1
0
        private static void OnValueProduced(ValueProduced valueProduced,
                                            ConcurrentDictionary <Guid, OpenRequest> openRequests, RenderingEngine renderingEngine)
        {
            var openRequest = openRequests[valueProduced.ParentId];

            var rendering = renderingEngine.Render(valueProduced.Value);


            // executeResult data
            var executeResultData = new ExecuteResult(
                openRequest.ExecutionCount,
                transient: openRequest.Transient,
                data: new Dictionary <string, object> {
                { rendering.Mime, rendering.Content }
            });

            if (!openRequest.ExecuteRequest.Silent)
            {
                // send on io
                var executeResultMessage = Message.Create(
                    executeResultData,
                    openRequest.Context.Request.Header);
                openRequest.Context.IoPubChannel.Send(executeResultMessage);
            }
        }
Exemplo n.º 2
0
        private void OnValueProduced(ValueProduced valueProduced)
        {
            var openRequest = InFlightRequests.Values.SingleOrDefault();

            if (openRequest == null)
            {
                return;
            }

            try
            {
                var transient = CreateTransient();
                // executeResult data
                var executeResultData = valueProduced.IsLastValue
                ? new ExecuteResult(
                    openRequest.ExecutionCount,
                    transient: transient,
                    data: valueProduced?.FormattedValues
                    ?.ToDictionary(k => k.MimeType, v => v.Value))
                : new DisplayData(
                    transient: transient,
                    data: valueProduced?.FormattedValues
                    ?.ToDictionary(k => k.MimeType, v => v.Value));

                if (!openRequest.Request.Silent)
                {
                    // send on io
                    var executeResultMessage = Message.Create(
                        executeResultData,
                        openRequest.Context.Request.Header);
                    openRequest.Context.IoPubChannel.Send(executeResultMessage);
                }
            }
            catch (Exception e)
            {
                var errorContent = new Error(
                    eName: "Unhandled Exception",
                    eValue: $"{e.Message}"
                    );

                if (!openRequest.Request.Silent)
                {
                    // send on io
                    var error = Message.Create(
                        errorContent,
                        openRequest.Context.Request.Header);
                    openRequest.Context.IoPubChannel.Send(error);

                    // send on stderr
                    var stdErr = new StdErrStream(errorContent.EValue);
                    var stream = Message.Create(
                        stdErr,
                        openRequest.Context.Request.Header);
                    openRequest.Context.IoPubChannel.Send(stream);
                }
            }
        }
Exemplo n.º 3
0
        private static void OnValueProduced(ValueProduced valueProduced,
                                            ConcurrentDictionary <IKernelCommand, OpenRequest> openRequests, RenderingEngine renderingEngine)
        {
            openRequests.TryGetValue(valueProduced.Command, out var openRequest);
            if (openRequest == null)
            {
                return;
            }

            try
            {
                var rendering = renderingEngine.Render(valueProduced.Value);

                // executeResult data
                var executeResultData = new ExecuteResult(
                    openRequest.ExecutionCount,
                    transient: openRequest.Transient,
                    data: new Dictionary <string, object>
                {
                    { rendering.MimeType, rendering.Content }
                });

                if (!openRequest.Request.Silent)
                {
                    // send on io
                    var executeResultMessage = Message.Create(
                        executeResultData,
                        openRequest.Context.Request.Header);
                    openRequest.Context.IoPubChannel.Send(executeResultMessage);
                }
            }
            catch (Exception e)
            {
                var errorContent = new Error(
                    eName: "Unhandled Exception",
                    eValue: $"{e.Message}"
                    );

                if (!openRequest.Request.Silent)
                {
                    // send on io
                    var error = Message.Create(
                        errorContent,
                        openRequest.Context.Request.Header);
                    openRequest.Context.IoPubChannel.Send(error);

                    // send on stderr
                    var stdErr = new StdErrStream(errorContent.EValue);
                    var stream = Message.Create(
                        stdErr,
                        openRequest.Context.Request.Header);
                    openRequest.Context.IoPubChannel.Send(stream);
                }
            }
        }
Exemplo n.º 4
0
        private static void OnValueProduced(
            ValueProduced valueProduced,
            ConcurrentDictionary <IKernelCommand, InflightRequest> openRequests)
        {
            openRequests.TryGetValue(valueProduced.Command, out var openRequest);
            if (openRequest == null)
            {
                return;
            }

            try
            {
                // executeResult data
                var executeResultData = new ExecuteResult(
                    openRequest.ExecutionCount,
                    transient: openRequest.Transient,
                    data: valueProduced?.FormattedValues
                    ?.ToDictionary(k => k.MimeType ?? "text/plain", v => v.Value));

                if (!openRequest.Request.Silent)
                {
                    // send on io
                    var executeResultMessage = Message.Create(
                        executeResultData,
                        openRequest.Context.Request.Header);
                    openRequest.Context.IoPubChannel.Send(executeResultMessage);
                }
            }
            catch (Exception e)
            {
                var errorContent = new Error(
                    eName: "Unhandled Exception",
                    eValue: $"{e.Message}"
                    );

                if (!openRequest.Request.Silent)
                {
                    // send on io
                    var error = Message.Create(
                        errorContent,
                        openRequest.Context.Request.Header);
                    openRequest.Context.IoPubChannel.Send(error);

                    // send on stderr
                    var stdErr = new StdErrStream(errorContent.EValue);
                    var stream = Message.Create(
                        stdErr,
                        openRequest.Context.Request.Header);
                    openRequest.Context.IoPubChannel.Send(stream);
                }
            }
        }