diff options
author | Morgan Collett <morgan.collett@gmail.com> | 2008-11-05 10:54:18 (GMT) |
---|---|---|
committer | Morgan Collett <morgan.collett@gmail.com> | 2008-11-05 11:42:12 (GMT) |
commit | 0fc08b8f9c89c54de74db7248759c2d568d9504c (patch) | |
tree | a72659fa5c3ccc374dc19b9e2761c6fa29180583 | |
parent | 224b117923ac510c676361a0cd9a5391a8591ac1 (diff) |
#8131 List wireless firmware version in control panel
-rw-r--r-- | extensions/cpsection/aboutxo/model.py | 17 | ||||
-rw-r--r-- | extensions/cpsection/aboutxo/view.py | 15 |
2 files changed, 32 insertions, 0 deletions
diff --git a/extensions/cpsection/aboutxo/model.py b/extensions/cpsection/aboutxo/model.py index ebbcca7..4b5b27e 100644 --- a/extensions/cpsection/aboutxo/model.py +++ b/extensions/cpsection/aboutxo/model.py @@ -18,6 +18,7 @@ import os import logging import re +import subprocess from gettext import gettext as _ _logger = logging.getLogger('ControlPanel - AboutXO') @@ -62,6 +63,22 @@ def get_firmware_number(): def print_firmware_number(): print get_firmware_number() +def get_wireless_firmware(): + try: + info = subprocess.Popen(["/usr/sbin/ethtool", "-i", "eth0"], + stdout=subprocess.PIPE).stdout.readlines() + except OSError: + return _not_available + try: + wireless_firmware = [line for line in info + if line.startswith('firmware')][0].split()[1] + except IndexError: + wireless_firmware = _not_available + return wireless_firmware + +def print_wireless_firmware(): + print get_wireless_firmware() + def _read_file(path): if os.access(path, os.R_OK) == 0: return None diff --git a/extensions/cpsection/aboutxo/view.py b/extensions/cpsection/aboutxo/view.py index a3afa10..bd2f27f 100644 --- a/extensions/cpsection/aboutxo/view.py +++ b/extensions/cpsection/aboutxo/view.py @@ -137,6 +137,21 @@ class AboutXO(SectionView): box_software.pack_start(box_firmware, expand=False) box_firmware.show() + box_wireless_fw = gtk.HBox(spacing=style.DEFAULT_SPACING) + label_wireless_fw = gtk.Label(_('Wireless Firmware:')) + label_wireless_fw.set_alignment(1, 0) + label_wireless_fw.modify_fg(gtk.STATE_NORMAL, + style.COLOR_SELECTION_GREY.get_gdk_color()) + box_wireless_fw.pack_start(label_wireless_fw, expand=False) + self._group.add_widget(label_wireless_fw) + label_wireless_fw.show() + label_wireless_fw_no = gtk.Label(self._model.get_wireless_firmware()) + label_wireless_fw_no.set_alignment(0, 0) + box_wireless_fw.pack_start(label_wireless_fw_no, expand=False) + label_wireless_fw_no.show() + box_software.pack_start(box_wireless_fw, expand=False) + box_wireless_fw.show() + self._vbox.pack_start(box_software, expand=False) box_software.show() |