diff --git a/RecordTimer.py b/RecordTimer.py
index d3ccd75..838b18a 100755
--- a/RecordTimer.py
+++ b/RecordTimer.py
@@ -4,6 +4,7 @@ from enigma import eEPGCache, getBestPlayableServiceReference, \
from Components.config import config
from Components.UsageConfig import defaultMoviePath
from Components.TimerSanityCheck import TimerSanityCheck
+from Components.SystemInfo import SystemInfo
from Screens.MessageBox import MessageBox
import Screens.Standby
@@ -114,7 +115,10 @@ class RecordTimerEntry(timer.TimerEntry, object):
self.timer = None
self.__record_service = None
self.start_prepare = 0
- self.justplay = justplay
+ if SystemInfo["PVRSupport"]:
+ self.justplay = justplay
+ else:
+ self.justplay = True
self.afterEvent = afterEvent
self.dirname = dirname
self.dirnameHadToFallback = False
@@ -404,7 +408,10 @@ def createTimer(xml):
description = xml.get("description").encode("utf-8")
repeated = xml.get("repeated").encode("utf-8")
disabled = long(xml.get("disabled") or "0")
- justplay = long(xml.get("justplay") or "0")
+ if SystemInfo["PVRSupport"]:
+ justplay = long(xml.get("justplay") or "0")
+ else:
+ justplay = long("1")
afterevent = str(xml.get("afterevent") or "nothing")
afterevent = {
"nothing": AFTEREVENT.NONE,
@@ -590,7 +597,10 @@ class RecordTimer(timer.Timer):
if timer.tags is not None:
list.append(' tags="' + str(stringToXML(' '.join(timer.tags))) + '"')
list.append(' disabled="' + str(int(timer.disabled)) + '"')
- list.append(' justplay="' + str(int(timer.justplay)) + '"')
+ if SystemInfo["PVRSupport"]:
+ list.append(' justplay="' + str(int(timer.justplay)) + '"')
+ else:
+ list.append(' justplay="1"')
list.append('>\n')
if config.recording.debug.value:
diff --git a/data/menu.xml b/data/menu.xml
index 03e582c..ea225d6 100755
--- a/data/menu.xml
+++ b/data/menu.xml
@@ -70,7 +70,7 @@
-->
-
+
diff --git a/data/setup.xml b/data/setup.xml
index 442fe13..e1e10dc 100755
--- a/data/setup.xml
+++ b/data/setup.xml
@@ -22,11 +22,11 @@
- config.usage.setup_level
- - config.recording.asktozap
- - config.recording.margin_before
- - config.recording.margin_after
- - config.usage.blinking_display_clock_during_recording
- - config.usage.show_message_when_recording_starts
+ - config.recording.asktozap
+ - config.recording.margin_before
+ - config.recording.margin_after
+ - config.usage.blinking_display_clock_during_recording
+ - config.usage.show_message_when_recording_starts
- config.usage.load_length_of_movies_in_moviellist
- config.usage.showdish
- config.usage.multibouquet
diff --git a/lib/python/Components/SystemInfo.py b/lib/python/Components/SystemInfo.py
index f9c4065..5817a49 100644
--- a/lib/python/Components/SystemInfo.py
+++ b/lib/python/Components/SystemInfo.py
@@ -1,6 +1,6 @@
from enigma import eDVBResourceManager
from Tools.Directories import fileExists
-from Tools.HardwareInfo import HardwareInfo
+from Tools.HardwareInfo import HardwareInfo, HardwareInfoVu
SystemInfo = { }
@@ -29,3 +29,4 @@ SystemInfo["NumFrontpanelLEDs"] = countFrontpanelLEDs()
SystemInfo["FrontpanelDisplay"] = fileExists("/dev/dbox/oled0") or fileExists("/dev/dbox/lcd0")
SystemInfo["FrontpanelDisplayGrayscale"] = fileExists("/dev/dbox/oled0")
SystemInfo["DeepstandbySupport"] = HardwareInfo().get_device_name() != "dm800"
+SystemInfo["PVRSupport"] = HardwareInfoVu().get_device_name() not in ["solose", "zero"]
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 80cc196..d635eac 100755
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -233,7 +233,7 @@ class InfoBarNumberZap:
else:
self.servicelist.recallPrevService()
else:
- if self.has_key("TimeshiftActions") and not self.timeshift_enabled:
+ if not (self.has_key("TimeshiftActions") and self.timeshift_enabled):
self.session.openWithCallback(self.numberEntered, NumberZap, number)
def numberEntered(self, retval):
@@ -1181,11 +1181,12 @@ class InfoBarShowMovies:
class InfoBarTimeshift:
def __init__(self):
- self["TimeshiftActions"] = HelpableActionMap(self, "InfobarTimeshiftActions",
- {
- "timeshiftStart": (self.startTimeshift, _("start timeshift")), # the "yellow key"
- "timeshiftStop": (self.stopTimeshift, _("stop timeshift")) # currently undefined :), probably 'TV'
- }, prio=1)
+ if SystemInfo["PVRSupport"]:
+ self["TimeshiftActions"] = HelpableActionMap(self, "InfobarTimeshiftActions",
+ {
+ "timeshiftStart": (self.startTimeshift, _("start timeshift")), # the "yellow key"
+ "timeshiftStop": (self.stopTimeshift, _("stop timeshift")) # currently undefined :), probably 'TV'
+ }, prio=1)
self["TimeshiftActivateActions"] = ActionMap(["InfobarTimeshiftActivateActions"],
{
"timeshiftActivateEnd": self.activateTimeshiftEnd, # something like "rewind key"
@@ -1501,10 +1502,11 @@ class InfoBarInstantRecord:
"""Instant Record - handles the instantRecord action in order to
start/stop instant records"""
def __init__(self):
- self["InstantRecordActions"] = HelpableActionMap(self, "InfobarInstantRecord",
- {
- "instantRecord": (self.instantRecord, _("Instant Record...")),
- })
+ if SystemInfo["PVRSupport"]:
+ self["InstantRecordActions"] = HelpableActionMap(self, "InfobarInstantRecord",
+ {
+ "instantRecord": (self.instantRecord, _("Instant Record...")),
+ })
self.recording = []
def stopCurrentRecording(self, entry = -1):
diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py
index 9885e70..1d40547 100644
--- a/lib/python/Screens/TimerEntry.py
+++ b/lib/python/Screens/TimerEntry.py
@@ -94,7 +94,12 @@ class TimerEntry(Screen, ConfigListScreen):
weekday = (int(strftime("%w", localtime(self.timer.begin))) - 1) % 7
day[weekday] = 1
- self.timerentry_justplay = ConfigSelection(choices = [("zap", _("zap")), ("record", _("record"))], default = {0: "record", 1: "zap"}[justplay])
+ timer_choices = [("zap", _("zap"))]
+ default = "zap"
+ if SystemInfo["PVRSupport"]:
+ timer_choices.append(("record", _("record")))
+ default = {0: "record", 1: "zap"}[justplay]
+ self.timerentry_justplay = ConfigSelection(choices = timer_choices, default = default)
if SystemInfo["DeepstandbySupport"]:
shutdownString = _("go to deep standby")
else:
diff --git a/lib/python/Tools/HardwareInfo.py b/lib/python/Tools/HardwareInfo.py
index e72d291..a1188c1 100644
--- a/lib/python/Tools/HardwareInfo.py
+++ b/lib/python/Tools/HardwareInfo.py
@@ -32,3 +32,26 @@ class HardwareInfo:
def get_device_name(self):
return HardwareInfo.device_name
+
+class HardwareInfoVu:
+ device_name = None
+
+ def __init__(self):
+ if HardwareInfoVu.device_name is not None:
+ return
+
+ HardwareInfoVu.device_name = "unknown"
+ HardwareInfoVu.vendor_name = "unknown"
+ try:
+ file = open("/proc/stb/info/vumodel", "r")
+ HardwareInfoVu.device_name = file.readline().strip()
+ file.close()
+ HardwareInfoVu.vendor_name = "vuplus"
+ except:
+ pass
+
+ def get_device_name(self):
+ return HardwareInfoVu.device_name
+
+ def get_vendor_name(self):
+ return HardwareInfoVu.vendor_name