From: Felix Domke Date: Mon, 13 Feb 2006 17:45:05 +0000 (+0000) Subject: pipe python stdout trough enigma X-Git-Tag: 2.6.0~4170 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/49052eeadcd62b9fda6be660c490d04577b6eabe pipe python stdout trough enigma --- diff --git a/lib/base/eerror.cpp b/lib/base/eerror.cpp index c60d5b7b..3239ddc5 100644 --- a/lib/base/eerror.cpp +++ b/lib/base/eerror.cpp @@ -80,3 +80,15 @@ void eWarning(const char* fmt, ...) fprintf(stderr, "%s\n", buf); } #endif // DEBUG + +void ePythonOutput(const char *string) +{ + logOutput(lvlWarning, string); + if (logOutputConsole) + fwrite(string, 1, strlen(string), stderr); +} + +void eWriteCrashdump() +{ + /* implement me */ +} diff --git a/lib/base/eerror.h b/lib/base/eerror.h index 91575878..36e43388 100644 --- a/lib/base/eerror.h +++ b/lib/base/eerror.h @@ -207,4 +207,7 @@ inline void DumpUnfreed() #define ASSERT(x) do { } while (0) #endif //DEBUG +void ePythonOutput(const char *); +void eWriteCrashdump(); + #endif // __E_ERROR__ diff --git a/lib/python/Tools/Makefile.am b/lib/python/Tools/Makefile.am index bee4dde1..f1fc9368 100644 --- a/lib/python/Tools/Makefile.am +++ b/lib/python/Tools/Makefile.am @@ -1,4 +1,6 @@ installdir = $(LIBDIR)/enigma2/python/Tools install_DATA = \ - FuzzyDate.py XMLTools.py Directories.py NumericalTextInput.py KeyBindings.py BoundFunction.py ISO639.py Notifications.py __init__.py + FuzzyDate.py XMLTools.py Directories.py NumericalTextInput.py \ + KeyBindings.py BoundFunction.py ISO639.py Notifications.py __init__.py \ + RedirectOutput.py diff --git a/lib/python/Tools/RedirectOutput.py b/lib/python/Tools/RedirectOutput.py new file mode 100644 index 00000000..83cb5f8c --- /dev/null +++ b/lib/python/Tools/RedirectOutput.py @@ -0,0 +1,11 @@ +import sys +from enigma import ePythonOutput + +class EnigmaOutput: + def write(self, data): + ePythonOutput(data) + + def flush(): + pass + +sys.stdout = sys.stderr = EnigmaOutput() diff --git a/lib/python/Tools/__init__.py b/lib/python/Tools/__init__.py index df963dad..16205a55 100644 --- a/lib/python/Tools/__init__.py +++ b/lib/python/Tools/__init__.py @@ -1 +1,2 @@ -all = ["FuzzyDate.py", "XMLTools.py", "Directories.py", "KeyBindings.py", "BoundFunction.py", "ISO639.py", "Notifications"] +all = ["FuzzyDate.py", "XMLTools.py", "Directories.py", "KeyBindings.py", "BoundFunction.py", "ISO639.py", "Notifications", + "RedirectOutput.py"] diff --git a/mytest.py b/mytest.py index 391eda9f..d71f457e 100644 --- a/mytest.py +++ b/mytest.py @@ -1,3 +1,4 @@ +from Tools import RedirectOutput from enigma import * from tools import *