Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xeatboomactivity.py27
1 files changed, 22 insertions, 5 deletions
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)