3808c1eca6cb58ceac991fa75388713950ca2c3a
[vuplus_dvbapp-plugin] / webinterface / src / WebComponents / Sources / About.py
1 # Parts of Code and idea  by Homey
2 from Components.Sources.Source import Source
3 from Components.Harddisk import Harddisk
4 from Components.NimManager import nimmanager
5 from Components.About import about
6
7 from Tools.DreamboxHardware import getFPVersion
8
9 from ServiceReference import ServiceReference
10 from enigma import iServiceInformation
11
12 from Components.config import config
13
14 class About( Source):
15     
16     def __init__(self, session):
17         Source.__init__(self)
18         self.session = session
19     
20     def handleCommand(self,cmd):
21         self.result = False,"unknown command"
22         
23     def command(self):
24         list = []
25         list.append(about.getVersionString()) 
26
27 #===============================================================================
28 #        #Get Network Info
29 #        def ConvertIP(AddStr):
30 #            retstr = AddStr.replace(', ','.')
31 #            retstr = retstr.replace('[','')
32 #            retstr = retstr.replace(']','')
33 #            return retstr
34
35 #        list.append(_("Use DHCP %s") % config.network.dhcp.value)
36 #        list.append(ConvertIP(_("IP Address %s") % config.network.ip.value))
37 #        list.append(ConvertIP(_("Netmask %s") % config.network.netmask.value))
38 #        list.append(ConvertIP(_("Gateway %s") % config.network.gateway.value))
39 #        list.append(ConvertIP(_("Nameserver %s") % config.network.dns.value))
40 #===============================================================================
41
42         #Get FrontProcessor Version
43         fp_version = getFPVersion()
44         if fp_version is None:
45             fp_version = "?"
46         else:
47             fp_version = str(fp_version)
48         list.append(fp_version)
49
50         #Get Tuner Info
51         niminfo = ""
52         for nim in nimmanager.nimList():
53             info = nim.split(":")
54             
55             niminfo += "\n\t\t\t<e2nim>\n"
56             niminfo += "\t\t\t\t<name>%s</name>\n" %(info[0])
57             niminfo += "\t\t\t\t<type>%s</type>\n" %(info[1])
58             niminfo += "\t\t\t</e2nim>"
59             
60         list.append(niminfo)
61
62         #Get HDD Info
63         hdddata = Harddisk(0)
64         if hdddata.model() != "":
65             hddinfo = "\n\t\t\t<model>"+hdddata.model()+"</model>\n"
66             hddinfo += "\t\t\t<capacity>"+hdddata.capacity()+"</capacity>\n"
67             hddinfo += "\t\t\t<free>"+str(hdddata.free())+" MB</free>"
68             
69         else:            
70             hddinfo = "\n\t\t\t<model>N/A</model>\n"
71             hddinfo += "\t\t\t<capacity>-</capacity>\n"
72             hddinfo += "\t\t\t<free>-</free>"
73         list.append(hddinfo)
74
75         #Get Service Info
76         service = self.session.nav.getCurrentService()
77
78         if self.session.nav.getCurrentlyPlayingServiceReference() is not None:
79             Name = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference()).getServiceName()
80         else:
81             Name = "N/A"
82         list.append(Name)
83
84         if service is not None:
85             svinfo = service.info()
86             svfeinfo = service.frontendInfo()
87         else:
88             svinfo = None
89             svfeinfo = None
90
91         # Get Service Info
92         if svinfo is not None:
93             list.append(svinfo.getInfoString(iServiceInformation.sProvider))
94             list.append(svinfo.getInfo(iServiceInformation.sAspect))
95             list.append(hex(svinfo.getInfo(iServiceInformation.sNamespace)))
96
97             # Get PIDs
98             list.append(svinfo.getInfo(iServiceInformation.sVideoPID))
99             list.append(svinfo.getInfo(iServiceInformation.sAudioPID))
100             list.append(svinfo.getInfo(iServiceInformation.sPCRPID))
101             list.append(svinfo.getInfo(iServiceInformation.sPMTPID))
102             list.append(svinfo.getInfo(iServiceInformation.sTXTPID))
103             list.append(svinfo.getInfo(iServiceInformation.sTSID))
104             list.append(svinfo.getInfo(iServiceInformation.sONID))
105             list.append(svinfo.getInfo(iServiceInformation.sSID))
106         else:
107             list.append("N/A")
108             list.append("N/A")
109             list.append("N/A")
110             list.append("N/A")
111             list.append("N/A")
112             list.append("N/A")
113             list.append("N/A")
114             list.append("N/A")
115             list.append("N/A")
116             list.append("N/A")
117             list.append("N/A")
118             
119         ## webifversion
120         list.append(config.plugins.Webinterface.version.value)
121         
122         #please remove unneeded debugoutpu while commiting #print list
123         
124         listR = []
125         listR.append(list)
126         
127         return listR
128
129     text = property(command)        
130     
131     list = property(command)
132     lut = {"enigmaVersion": 0
133 #           ,"lanDHCP": 1
134  #          ,"lanIP": 2
135   #         ,"lanMask": 3
136    #        ,"lanGW": 4
137     #       ,"lanDNS": 5
138            ,"fpVersion": 1
139            ,"tunerInfo": 2
140            ,"hddInfo": 3
141            ,"serviceName": 4
142            ,"serviceProvider": 5
143            ,"serviceAspect": 6
144            ,"serviceNamespace": 7
145            ,"vPID": 8
146            ,"aPID": 9
147            ,"pcrID": 10
148            ,"pmtPID": 11
149            ,"txtPID": 12
150            ,"tsID": 13
151            ,"onID": 14
152            ,"sid": 15
153            ,"WebIfVersion": 16
154            }
155