- fix some inefficiencies,
[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.Network import iNetwork
4
5 class About(Source):
6         def __init__(self, session):
7                 Source.__init__(self)
8                 self.session = session
9
10         def handleCommand(self, cmd):
11                 self.result = False, "unknown command"
12
13         def command(self):
14                 def ConvertIP(list):
15                         if len(list) == 4:
16                                 retstr = "%s.%s.%s.%s" % (list[0], list[1], list[2], list[3])
17                         else:
18                                 retstr = "0.0.0.0"
19                         return retstr
20
21                 list = []
22
23                 if iNetwork.getNumberOfAdapters > 0:
24                         iface = iNetwork.getAdapterList()[0]
25                         print "[WebComponents.About] iface: %s" % iface
26                         list.extend((
27                                 iNetwork.getAdapterAttribute(iface, "mac"),
28                                 iNetwork.getAdapterAttribute(iface, "dhcp"),
29                                 ConvertIP(iNetwork.getAdapterAttribute(iface, "ip")),
30                                 ConvertIP(iNetwork.getAdapterAttribute(iface, "netmask")),
31                                 ConvertIP(iNetwork.getAdapterAttribute(iface, "gateway")),
32                         ))
33                 else:
34                         print "[WebComponents.About] no network iface configured!"
35                         list.extend((
36                                 "N/A",
37                                 "N/A",
38                                 "N/A",
39                                 "N/A",
40                                 "N/A",
41                         ))
42
43                 return (list,)
44
45         list = property(command)
46         lut = { "lanMac": 0
47                         , "lanDHCP": 1
48                         , "lanIP": 2
49                         , "lanMask": 3
50                         , "lanGW": 4
51                 }