From: Stefan Pluecken Date: Wed, 6 Oct 2010 07:00:42 +0000 (+0200) Subject: Merge branch 'bug_587_new_internally_connectable_and_unsupported_tuner_management... X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=0edde94c71828b4cbb95bbfb7011b6b966562742 Merge branch 'bug_587_new_internally_connectable_and_unsupported_tuner_management' into bug_593_i2c_device_from_file Conflicts: lib/python/Components/NimManager.py --- 0edde94c71828b4cbb95bbfb7011b6b966562742 diff --cc lib/python/Components/NimManager.py index 2a1cbad,4d562b9..f934ed50 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@@ -471,7 -481,7 +481,8 @@@ class SecConfigure self.update() class NIM(object): - def __init__(self, slot, type, description, has_outputs = True, internally_connectable = None, multi_type = {}, i2c = None): - def __init__(self, slot, type, description, has_outputs = True, internally_connectable = None, multi_type = {}, frontend_id = None): ++ def __init__(self, slot, type, description, has_outputs = True, internally_connectable = None, multi_type = {}, frontend_id = None, i2c = None): ++ self.slot = slot if type not in ("DVB-S", "DVB-C", "DVB-T", "DVB-S2", None): @@@ -483,9 -493,11 +494,12 @@@ self.has_outputs = has_outputs self.internally_connectable = internally_connectable self.multi_type = multi_type + self.i2c = i2c + self.frontend_id = frontend_id def isCompatible(self, what): + if not self.isSupported(): + return False compatible = { None: (None,), "DVB-S": ("DVB-S", None), @@@ -699,15 -725,18 +733,21 @@@ class NimManager if not (entry.has_key("name") and entry.has_key("type")): entry["name"] = _("N/A") entry["type"] = None + if not (entry.has_key("i2c")): + entry["i2c"] = None if not (entry.has_key("has_outputs")): entry["has_outputs"] = True - if not (entry.has_key("internally_connectable")): - entry["internally_connectable"] = None + if entry.has_key("frontend_device"): # check if internally connectable + if path.exists("/proc/stb/frontend/%d/rf_switch" % entry["frontend_device"]): + entry["internally_connectable"] = entry["frontend_device"] - 1 + else: + entry["internally_connectable"] = None + else: + entry["frontend_device"] = entry["internally_connectable"] = None if not (entry.has_key("multi_type")): entry["multi_type"] = {} - self.nim_slots.append(NIM(slot = id, description = entry["name"], type = entry["type"], has_outputs = entry["has_outputs"], internally_connectable = entry["internally_connectable"], multi_type = entry["multi_type"], i2c = entry["i2c"])) - self.nim_slots.append(NIM(slot = id, description = entry["name"], type = entry["type"], has_outputs = entry["has_outputs"], internally_connectable = entry["internally_connectable"], multi_type = entry["multi_type"], frontend_id = entry["frontend_device"])) ++ self.nim_slots.append(NIM(slot = id, description = entry["name"], type = entry["type"], has_outputs = entry["has_outputs"], internally_connectable = entry["internally_connectable"], multi_type = entry["multi_type"], frontend_id = entry["frontend_device"], i2c = entry["i2c"])) ++ def hasNimType(self, chktype): for slot in self.nim_slots: