From 235be164cf7e433a0616448bb11cfbec259be551 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Thu, 09 Jun 2011 17:28:39 +0000 Subject: work around for missing dmi info on some systems --- diff --git a/TurtleArt/tautils.py b/TurtleArt/tautils.py index 76bdf5d..0c6fe64 100644 --- a/TurtleArt/tautils.py +++ b/TurtleArt/tautils.py @@ -794,14 +794,17 @@ def find_blk_below(blk, name): return _gblk return None -""" -Are we on an OLPC XO? -""" - def get_hardware(): """ Determine whether we are using XO 1.0, 1.5, or "unknown" hardware """ - if _get_dmi('product_name') != 'XO': + product = _get_dmi('product_name') + if product is None: + if os.path.exists('/etc/olpc-release') or \ + os.path.exists('/sys/power/olpc-pm'): + return XO1 + else: + return UNKNOWN + if product != 'XO': return UNKNOWN version = _get_dmi('product_version') if version == '1': @@ -813,6 +816,8 @@ def get_hardware(): def _get_dmi(node): + ''' The desktop management interface should be a reliable source + for product and version information. ''' path = os.path.join('/sys/class/dmi/id', node) try: return open(path).readline().strip() -- cgit v0.9.1