From 60a9bcb6f7b0e928a836dccd1008b82f837a0461 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Mon, 15 Jan 2007 20:19:14 +0000 Subject: use timedifference from eDVBLocalTimeHandler for time() calls in python --- lib/python/Tools/Makefile.am | 3 ++- lib/python/Tools/RedirectTime.py | 18 ++++++++++++++++++ lib/python/Tools/__init__.py | 2 +- lib/python/enigma_python.i | 1 + 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 lib/python/Tools/RedirectTime.py (limited to 'lib/python') diff --git a/lib/python/Tools/Makefile.am b/lib/python/Tools/Makefile.am index 4828e1fb..77142a7a 100644 --- a/lib/python/Tools/Makefile.am +++ b/lib/python/Tools/Makefile.am @@ -3,5 +3,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 \ - RedirectOutput.py DreamboxHardware.py Import.py Event.py CList.py + RedirectOutput.py DreamboxHardware.py Import.py Event.py CList.py \ + RedirectTime.py diff --git a/lib/python/Tools/RedirectTime.py b/lib/python/Tools/RedirectTime.py new file mode 100644 index 00000000..91c80022 --- /dev/null +++ b/lib/python/Tools/RedirectTime.py @@ -0,0 +1,18 @@ +import time +from enigma import eDVBLocalTimeHandler + +org_time = time.time +time_difference = eDVBLocalTimeHandler.getInstance().difference() + +def myTime(): + global time_difference + t = org_time() + t += time_difference + return t + +def timeChangedCallback(): + global time_difference + time_difference = eDVBLocalTimeHandler.getInstance().difference() + +eDVBLocalTimeHandler.getInstance().m_timeUpdated.get().append(timeChangedCallback) +time.time = myTime \ No newline at end of file diff --git a/lib/python/Tools/__init__.py b/lib/python/Tools/__init__.py index a79bb103..df8d8873 100644 --- a/lib/python/Tools/__init__.py +++ b/lib/python/Tools/__init__.py @@ -1,2 +1,2 @@ -all = ["FuzzyDate.py", "XMLTools.py", "Directories.py", "KeyBindings.py", "BoundFunction.py", "ISO639.py", "Notifications", +all = ["RedirectTime.py", "FuzzyDate.py", "XMLTools.py", "Directories.py", "KeyBindings.py", "BoundFunction.py", "ISO639.py", "Notifications", "RedirectOutput.py", "DreamboxHardware.py"] diff --git a/lib/python/enigma_python.i b/lib/python/enigma_python.i index 8ee7fb39..13eca6b4 100644 --- a/lib/python/enigma_python.i +++ b/lib/python/enigma_python.i @@ -153,6 +153,7 @@ typedef long time_t; %immutable eDVBResourceManager::frontendUseMaskChanged; %immutable eAVSwitch::vcr_sb_notifier; %immutable ePythonMessagePump::recv_msg; +%immutable eDVBLocalTimeHandler::m_timeUpdated; %include %include %include -- cgit v1.2.3