Skip to content
Snippets Groups Projects
Unverified Commit d6e9fc1c authored by Savici, Andrei T.'s avatar Savici, Andrei T. Committed by GitHub
Browse files

Merge pull request #23712 from mantidproject/workbench_print_statemets

Duplicate print statements to the console
parents 58dddea4 6462f81c
No related branches found
No related tags found
No related merge requests found
...@@ -29,6 +29,8 @@ from workbench.plugins.base import PluginWidget ...@@ -29,6 +29,8 @@ from workbench.plugins.base import PluginWidget
# Default logs at notice # Default logs at notice
DEFAULT_LOG_PRIORITY = 5 DEFAULT_LOG_PRIORITY = 5
ORIGINAL_STDOUT = sys.stdout
ORIGINAL_STDERR = sys.stderr
class LogMessageDisplay(PluginWidget): class LogMessageDisplay(PluginWidget):
...@@ -44,10 +46,10 @@ class LogMessageDisplay(PluginWidget): ...@@ -44,10 +46,10 @@ class LogMessageDisplay(PluginWidget):
self.setWindowTitle(self.get_plugin_title()) self.setWindowTitle(self.get_plugin_title())
# output capture # output capture
stdout_capture, stderr_capture = WriteToSignal(), WriteToSignal() self.stdout = WriteToSignal(ORIGINAL_STDOUT)
stdout_capture.sig_write_received.connect(self.display.appendNotice) self.stdout.sig_write_received.connect(self.display.appendNotice)
stderr_capture.sig_write_received.connect(self.display.appendError) self.stderr = WriteToSignal(ORIGINAL_STDERR)
self.stdout, self.stderr = stdout_capture, stderr_capture self.stderr.sig_write_received.connect(self.display.appendError)
def get_plugin_title(self): def get_plugin_title(self):
return "Messages" return "Messages"
......
...@@ -18,6 +18,7 @@ from __future__ import (absolute_import) ...@@ -18,6 +18,7 @@ from __future__ import (absolute_import)
# std imports # std imports
import unittest import unittest
import sys
# 3rdparty # 3rdparty
from qtpy.QtCore import QCoreApplication, QObject from qtpy.QtCore import QCoreApplication, QObject
...@@ -38,7 +39,7 @@ class WriteToSignalTest(GuiTest): ...@@ -38,7 +39,7 @@ class WriteToSignalTest(GuiTest):
def test_connected_receiver_receives_text(self): def test_connected_receiver_receives_text(self):
recv = Receiver() recv = Receiver()
writer = WriteToSignal() writer = WriteToSignal(sys.stdout)
writer.sig_write_received.connect(recv.capture_text) writer.sig_write_received.connect(recv.capture_text)
txt = "I expect to see this" txt = "I expect to see this"
writer.write(txt) writer.write(txt)
......
...@@ -27,6 +27,9 @@ class WriteToSignal(QObject): ...@@ -27,6 +27,9 @@ class WriteToSignal(QObject):
used to transform write requests to used to transform write requests to
Qt-signals. Mainly used to communicate Qt-signals. Mainly used to communicate
stdout/stderr across threads""" stdout/stderr across threads"""
def __init__(self, original_out):
QObject.__init__(self)
self.__original_out = original_out
sig_write_received = Signal(str) sig_write_received = Signal(str)
...@@ -40,4 +43,7 @@ class WriteToSignal(QObject): ...@@ -40,4 +43,7 @@ class WriteToSignal(QObject):
return False return False
def write(self, txt): def write(self, txt):
# write to the console
self.__original_out.write(txt)
# emit the signal which will write to logging
self.sig_write_received.emit(txt) self.sig_write_received.emit(txt)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment