Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions/cpsection/aboutcomputer/model.py
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/cpsection/aboutcomputer/model.py
parenteae73448d695d838b8b8546b736e698c69de99c8 (diff)
Hide OLPC-specific fields on non-xo machines #133
Diffstat (limited to 'extensions/cpsection/aboutcomputer/model.py')
-rw-r--r--extensions/cpsection/aboutcomputer/model.py21
1 files changed, 20 insertions, 1 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():