diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-01-23 15:24:43 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-01-23 15:24:43 (GMT) |
commit | 83b358a5f948863dc160b6a149ccdfa42d15c58e (patch) | |
tree | 6314864ad3e109d85e9e62085ab61b7da210689d /extensions/cpsection/aboutcomputer/model.py | |
parent | eae73448d695d838b8b8546b736e698c69de99c8 (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.py | 21 |
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(): |