diff options
author | Wade Brainerd <wadetb@gmail.com> | 2009-11-12 13:20:15 (GMT) |
---|---|---|
committer | Wade Brainerd <wadetb@gmail.com> | 2009-11-12 13:20:15 (GMT) |
commit | b33787972d715d9563e12e329481905c4d64dae3 (patch) | |
tree | 78dfc0adecd38c80a0d47fdd72211351a11ecab1 /swfactivity.py |
Create Git repository for Arachnophilia.
Diffstat (limited to 'swfactivity.py')
-rwxr-xr-x | swfactivity.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/swfactivity.py b/swfactivity.py new file mode 100755 index 0000000..8205e3f --- /dev/null +++ b/swfactivity.py @@ -0,0 +1,53 @@ +# Copyright (C) 2009, Tomeu Vizoso +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +import os + +import gtk +try: + import gnash +except ImportError: + import subprocess + +from sugar.activity import activity + +SWFNAME = 'arachnophilia.swf' + +class SWFActivity(activity.Activity): + def __init__(self, handle): + activity.Activity.__init__(self, handle) + + toolbox = activity.ActivityToolbox(self) + self.set_toolbox(toolbox) + toolbox.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) + |