Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-01-23 15:24:43 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-01-23 15:24:43 (GMT)
commit83b358a5f948863dc160b6a149ccdfa42d15c58e (patch)
tree6314864ad3e109d85e9e62085ab61b7da210689d /extensions
parenteae73448d695d838b8b8546b736e698c69de99c8 (diff)
Hide OLPC-specific fields on non-xo machines #133
Diffstat (limited to 'extensions')
-rw-r--r--extensions/cpsection/aboutcomputer/model.py21
-rw-r--r--extensions/cpsection/aboutcomputer/view.py71
2 files changed, 58 insertions, 34 deletions
diff --git a/extensions/cpsection/aboutcomputer/model.py b/extensions/cpsection/aboutcomputer/model.py
index 5d53f54..39a766f 100644
--- a/extensions/cpsection/aboutcomputer/model.py
+++ b/extensions/cpsection/aboutcomputer/model.py
@@ -20,6 +20,7 @@ import logging
import re
import subprocess
from gettext import gettext as _
+import errno
_logger = logging.getLogger('ControlPanel - AboutComputer')
_not_available = _('Not available')
@@ -39,12 +40,30 @@ def get_serial_number():
return serial_no
def print_serial_number():
- print get_serial_number()
+ serial_no = get_serial_number()
+ if serial_no is None:
+ serial_no = _not_available
+ print serial_no
def get_build_number():
build_no = _read_file('/boot/olpc_build')
+
if build_no is None:
+ build_no = _read_file('/etc/redhat-release')
+
+ if build_no is None:
+ try:
+ popen = subprocess.Popen(['lsb_release', '-ds'],
+ stdout=subprocess.PIPE)
+ except OSError, e:
+ if e.errno != errno.ENOENT:
+ raise
+ else:
+ build_no, stderr_ = popen.communicate()
+
+ if build_no is None or not build_no:
build_no = _not_available
+
return build_no
def print_build_number():
diff --git a/extensions/cpsection/aboutcomputer/view.py b/extensions/cpsection/aboutcomputer/view.py
index f9dfe93..f8739ee 100644
--- a/extensions/cpsection/aboutcomputer/view.py
+++ b/extensions/cpsection/aboutcomputer/view.py
@@ -15,12 +15,14 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-import gtk
+import os
from gettext import gettext as _
-from jarabe import config
+import gtk
+
from sugar.graphics import style
+from jarabe import config
from jarabe.controlpanel.sectionview import SectionView
class AboutComputer(SectionView):
@@ -43,7 +45,9 @@ class AboutComputer(SectionView):
scrollwindow.add_with_viewport(self._vbox)
self._vbox.show()
- self._setup_identity()
+ if os.path.exists('/ofw'):
+ self._setup_identity()
+
self._setup_software()
self._setup_copyright()
@@ -77,7 +81,6 @@ class AboutComputer(SectionView):
self._vbox.pack_start(vbox_identity, expand=False)
vbox_identity.show()
-
def _setup_software(self):
separator_software = gtk.HSeparator()
@@ -122,35 +125,37 @@ class AboutComputer(SectionView):
box_software.pack_start(box_sugar, expand=False)
box_sugar.show()
- box_firmware = gtk.HBox(spacing=style.DEFAULT_SPACING)
- label_firmware = gtk.Label(_('Firmware:'))
- label_firmware.set_alignment(1, 0)
- label_firmware.modify_fg(gtk.STATE_NORMAL,
- style.COLOR_SELECTION_GREY.get_gdk_color())
- box_firmware.pack_start(label_firmware, expand=False)
- self._group.add_widget(label_firmware)
- label_firmware.show()
- label_firmware_no = gtk.Label(self._model.get_firmware_number())
- label_firmware_no.set_alignment(0, 0)
- box_firmware.pack_start(label_firmware_no, expand=False)
- label_firmware_no.show()
- 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()
+ if os.path.exists('/ofw'):
+ box_firmware = gtk.HBox(spacing=style.DEFAULT_SPACING)
+ label_firmware = gtk.Label(_('Firmware:'))
+ label_firmware.set_alignment(1, 0)
+ label_firmware.modify_fg(gtk.STATE_NORMAL,
+ style.COLOR_SELECTION_GREY.get_gdk_color())
+ box_firmware.pack_start(label_firmware, expand=False)
+ self._group.add_widget(label_firmware)
+ label_firmware.show()
+ label_firmware_no = gtk.Label(self._model.get_firmware_number())
+ label_firmware_no.set_alignment(0, 0)
+ box_firmware.pack_start(label_firmware_no, expand=False)
+ label_firmware_no.show()
+ 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()
+ wireless_fw_no = self._model.get_wireless_firmware()
+ label_wireless_fw_no = gtk.Label(wireless_fw_no)
+ 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()