aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RecordTimer.py2
-rw-r--r--lib/python/Tools/DreamboxHardware.py10
-rw-r--r--mytest.py10
-rw-r--r--timer.py5
4 files changed, 26 insertions, 1 deletions
diff --git a/RecordTimer.py b/RecordTimer.py
index cf4160cc..08ea8590 100644
--- a/RecordTimer.py
+++ b/RecordTimer.py
@@ -221,7 +221,7 @@ class RecordTimer(timer.Timer):
self.loadTimer()
except IOError:
print "unable to load timers from file!"
-
+
def isRecording(self):
isRunning = False
for timer in self.timer_list:
diff --git a/lib/python/Tools/DreamboxHardware.py b/lib/python/Tools/DreamboxHardware.py
index 4f873e9e..5eaaeeca 100644
--- a/lib/python/Tools/DreamboxHardware.py
+++ b/lib/python/Tools/DreamboxHardware.py
@@ -5,3 +5,13 @@ def getFPVersion():
return ioctl(fp.fileno(),0)
except IOError:
return None
+
+def setFPWakeuptime(wutime):
+ from fcntl import ioctl
+ from struct import pack
+
+ try:
+ fp = open("/dev/dbox/fp0")
+ ioctl(fp.fileno(), 6, pack('L', wutime)) # set wake up
+ except IOError:
+ pass
diff --git a/mytest.py b/mytest.py
index 9dba16ea..329bba26 100644
--- a/mytest.py
+++ b/mytest.py
@@ -302,6 +302,15 @@ def runScreenTest():
configfile.save()
+ from Tools.DreamboxHardware import setFPWakeuptime
+ from time import time
+ nextRecordingTime = session.nav.RecordTimer.getNextRecordingTime()
+ if nextRecordingTime != -1:
+ if (nextRecordingTime < 330): # no time to switch box back on
+ setFPWakeuptime(time() + 30) # so switch back on in 30 seconds
+ else:
+ setFPWakeuptime(nextRecordingTime - (300))
+
session.nav.shutdown()
return 0
@@ -340,6 +349,7 @@ import Components.NimManager
# first, setup a screen
try:
runScreenTest()
+
plugins.shutdown()
except:
print 'EXCEPTION IN PYTHON STARTUP CODE:'
diff --git a/timer.py b/timer.py
index 09f64e3f..a98481c0 100644
--- a/timer.py
+++ b/timer.py
@@ -113,6 +113,11 @@ class Timer:
for f in self.on_state_change:
f(entry)
+ def getNextRecordingTime(self):
+ if len(self.timer_list) > 0:
+ return self.timer_list[0].begin
+ return -1
+
def cleanup(self):
self.processed_timers = [entry for entry in self.processed_timers if entry.disabled]