Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TurtleArt/tautils.py33
1 files changed, 20 insertions, 13 deletions
diff --git a/TurtleArt/tautils.py b/TurtleArt/tautils.py
index eb12747..23f0080 100644
--- a/TurtleArt/tautils.py
+++ b/TurtleArt/tautils.py
@@ -790,20 +790,27 @@ def find_blk_below(blk, name):
def get_hardware():
""" Determine whether we are using XO 1.0, 1.5, or "unknown" hardware """
bus = dbus.SystemBus()
-
- comp_obj = bus.get_object('org.freedesktop.Hal',
- '/org/freedesktop/Hal/devices/computer')
- dev = dbus.Interface(comp_obj, 'org.freedesktop.Hal.Device')
- if dev.PropertyExists('system.hardware.vendor') and \
- dev.PropertyExists('system.hardware.version'):
- if dev.GetProperty('system.hardware.vendor') == 'OLPC':
- if dev.GetProperty('system.hardware.version') == '1.5':
- return XO15
+ comp_obj = None
+ try:
+ comp_obj = bus.get_object('org.freedesktop.Hal',
+ '/org/freedesktop/Hal/devices/computer')
+ except dbus.exceptions.DBusException:
+ error_output('Unable to get dbus object \
+/org/freedesktop/Hal/devices/computer')
+
+ if comp_obj is not None:
+ dev = dbus.Interface(comp_obj, 'org.freedesktop.Hal.Device')
+ if dev.PropertyExists('system.hardware.vendor') and \
+ dev.PropertyExists('system.hardware.version'):
+ if dev.GetProperty('system.hardware.vendor') == 'OLPC':
+ if dev.GetProperty('system.hardware.version') == '1.5':
+ return XO15
+ else:
+ return XO1
else:
- return XO1
- else:
- return UNKNOWN
- elif os.path.exists('/etc/olpc-release') or \
+ return UNKNOWN
+
+ if os.path.exists('/etc/olpc-release') or \
os.path.exists('/sys/power/olpc-pm'):
return XO1
else: