From 5d2f0cfad07ce6e376576e9b37ded455c1c9ce43 Mon Sep 17 00:00:00 2001 From: Wade Brainerd Date: Fri, 30 Oct 2009 06:36:25 +0000 Subject: If gnash python bindings not available, fallback to embedding the window. --- diff --git a/eatboomactivity.py b/eatboomactivity.py index 8294078..dc8d05f 100755 --- a/eatboomactivity.py +++ b/eatboomactivity.py @@ -16,10 +16,15 @@ import os import gtk -import gnash +try: + import gnash +except ImportError: + import subprocess from sugar.activity import activity +SWFNAME = 'EatBoom.swf' + class EatBoomActivity(activity.Activity): def __init__(self, handle): activity.Activity.__init__(self, handle) @@ -28,8 +33,20 @@ class EatBoomActivity(activity.Activity): self.set_toolbox(toolbox) toolbox.show() - view = gnash.View() - view.props.uri = os.path.join(activity.get_bundle_path(), 'EatBoom.swf') - self.set_canvas(view) - view.show() + try: + view = gnash.View() + view.props.uri = os.path.join(activity.get_bundle_path(), SWFNAME) + self.set_canvas(view) + view.show() + + except NameError: + socket = gtk.Socket() + self.set_canvas(socket) + self.show_all() + args = [ + 'gnash', + '-x', str(socket.get_id()), + os.path.join(activity.get_bundle_path(), SWFNAME) + ] + self._process = subprocess.Popen(args) -- cgit v0.9.1