1 # Parts of Code and idea by Homey
2 from Components.Sources.Source import Source
3 from Components.Harddisk import HarddiskManager
4 from Components.NimManager import nimmanager
5 from Components.Network import iNetwork
6 from Components.About import about
8 from Tools.DreamboxHardware import getFPVersion
10 from ServiceReference import ServiceReference
11 from enigma import iServiceInformation
13 from Components.config import config
17 def __init__(self, session):
19 self.session = session
21 def handleCommand(self,cmd):
22 self.result = False,"unknown command"
26 list.append(about.getVersionString())
32 retstr = "%s.%s.%s.%s" %(list[0], list[1], list[2], list[3])
38 list.append(iNetwork.getAdapterAttribute(iface, "dhcp"))
39 list.append(ConvertIP(iNetwork.getAdapterAttribute(iface, "ip")))
40 list.append(ConvertIP(iNetwork.getAdapterAttribute(iface, "netmask")))
41 list.append(ConvertIP(iNetwork.getAdapterAttribute(iface, "gateway")))
44 #Get FrontProcessor Version
45 fp_version = getFPVersion()
46 if fp_version is None:
49 fp_version = str(fp_version)
50 list.append(fp_version)
54 for nim in nimmanager.nimList():
57 niminfo += "\n\t\t\t<e2nim>\n"
58 niminfo += "\t\t\t\t<name>%s</name>\n" %(info[0])
59 niminfo += "\t\t\t\t<type>%s</type>\n" %(info[1])
60 niminfo += "\t\t\t</e2nim>"
65 hddmgr = HarddiskManager()
67 hdddata = hddmgr.hdd[0] # TODO, list more than the first harddisc if there are more than one. but this requires many changes in the way the webif generates the responses
68 hddinfo = "\n\t\t\t<model>"+hdddata.model()+"</model>\n"
69 hddinfo += "\t\t\t<capacity>"+hdddata.capacity()+"</capacity>\n"
70 hddinfo += "\t\t\t<free>"+str(hdddata.free())+" MB</free>"
73 hddinfo = "\n\t\t\t<model>N/A</model>\n"
74 hddinfo += "\t\t\t<capacity>-</capacity>\n"
75 hddinfo += "\t\t\t<free>-</free>"
79 service = self.session.nav.getCurrentService()
81 if self.session.nav.getCurrentlyPlayingServiceReference() is not None:
82 Name = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference()).getServiceName()
87 if service is not None:
88 svinfo = service.info()
89 svfeinfo = service.frontendInfo()
95 if self.session.nav.getCurrentlyPlayingServiceReference() is not None:
96 list.append(svinfo.getInfoString(iServiceInformation.sProvider))
98 aspect = svinfo.getInfo(iServiceInformation.sAspect)
99 if aspect in ( 1, 2, 5, 6, 9, 0xA, 0xD, 0xE ):
105 width = svinfo and svinfo.getInfo(iServiceInformation.sVideoWidth) or -1
106 height = svinfo and svinfo.getInfo(iServiceInformation.sVideoHeight) or -1
107 videosize = "%dx%d" %(width, height)
108 list.append(videosize)
110 list.append(hex(svinfo.getInfo(iServiceInformation.sNamespace)))
113 list.append(svinfo.getInfo(iServiceInformation.sVideoPID))
114 list.append(svinfo.getInfo(iServiceInformation.sAudioPID))
115 list.append(svinfo.getInfo(iServiceInformation.sPCRPID))
116 list.append(svinfo.getInfo(iServiceInformation.sPMTPID))
117 list.append(svinfo.getInfo(iServiceInformation.sTXTPID))
118 list.append(svinfo.getInfo(iServiceInformation.sTSID))
119 list.append(svinfo.getInfo(iServiceInformation.sONID))
120 list.append(svinfo.getInfo(iServiceInformation.sSID))
136 list.append(config.plugins.Webinterface.version.value)
140 fp = open("/proc/stb/info/model")
141 model = fp.read().lstrip().rstrip()
144 #please remove unneeded debugoutpu while commiting #print list
152 text = property(command)
154 list = property(command)
155 lut = {"enigmaVersion": 0
164 ,"serviceProvider": 9
166 ,"serviceVideosize": 11
167 ,"serviceNamespace": 12