From a8e63bd07be515b777d5eba9073a95e21f970e64 Mon Sep 17 00:00:00 2001 From: Justin Gallardo Date: Mon, 20 Nov 2006 23:16:37 +0000 Subject: Initial Import - AbiWord activitiy bundle --- diff --git a/AbiWordActivity.py b/AbiWordActivity.py new file mode 100755 index 0000000..24fb415 --- /dev/null +++ b/AbiWordActivity.py @@ -0,0 +1,37 @@ + +import logging +import os +import time +import gtk + +from sugar.activity.Activity import Activity + + +class AbiWord (gtk.Socket): + + def __init__ (self): + gtk.Socket.__init__ (self) + + self.connect ('realize', self.realize_cb) + + + def realize_cb (self, event): + + params = [ + 'abiword', + '--nosplash', + '--gtk-socket-id=' + str (self.get_id ()) + ] + os.spawnvp (os.P_NOWAIT, 'abiword', params) + + +class AbiWordActivity (Activity): + + def __init__ (self): + Activity.__init__ (self) + + self.set_title ("AbiWord") + + abiword = AbiWord () + self.add (abiword) + abiword.show_all () diff --git a/activity/activity.info b/activity/activity.info new file mode 100644 index 0000000..b04a0d2 --- /dev/null +++ b/activity/activity.info @@ -0,0 +1,7 @@ +[Activity] +name = AbiWord +service_name = com.jirwin.AbiWordActivity +exec = sugar-activity-factory com.jirwin.AbiWordActivity AbiWordActivity.AbiWordActivity +icon = activity-abiword +activity_version = 1 +show_launcher = 1 diff --git a/images/activity-abiword.svg b/images/activity-abiword.svg new file mode 100644 index 0000000..f11d548 --- /dev/null +++ b/images/activity-abiword.svg @@ -0,0 +1,407 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/setup.py b/setup.py new file mode 100755 index 0000000..cc36d96 --- /dev/null +++ b/setup.py @@ -0,0 +1,105 @@ +#!/usr/bin/python + +# Copyright (C) 2006, Red Hat, Inc. +# +# 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 sys +import os +import zipfile + +from sugar.activity.bundle import Bundle + +class SvnFileList(list): + def __init__(self): + f = os.popen('svn list -R') + for line in f.readlines(): + filename = line.strip() + if os.path.isfile(filename): + self.append(filename) + f.close() + +class GitFileList(list): + def __init__(self): + f = os.popen('git-ls-files') + for line in f.readlines(): + filename = line.strip() + if not filename.startswith('.'): + self.append(filename) + f.close() + +def get_source_path(): + return os.path.dirname(os.path.abspath(__file__)) + +def get_activities_path(): + path = os.path.expanduser('~/Activities') + if not os.path.isdir(path): + os.mkdir(path) + return path + +def get_bundle_dir(): + bundle_name = os.path.basename(get_source_path()) + return bundle_name + '.activity' + +def get_bundle_path(): + return os.path.join(get_activities_path(), get_bundle_dir()) + +def print_help(): + print 'Usage: \n\ +setup.py dev - setup for development \n\ +setup.py package - create a bundle package \n\ +setup.py help - print this message \n\ +' + +def setup_dev(): + bundle_path = get_bundle_path() + try: + os.symlink(get_source_path(), bundle_path) + except OSError: + if os.path.islink(bundle_path): + print 'ERROR - The bundle has been already setup for development.' + else: + print 'ERROR - A bundle with the same name is already installed.' + +def build_package(): + orig_path = os.getcwd() + os.chdir(get_source_path()) + + if os.path.isdir('.git'): + file_list = GitFileList() + elif os.path.isdir('.svn'): + file_list = SvnFileList() + else: + print 'ERROR - The command works only with git or svn repositories.' + + bundle = Bundle(get_source_path()) + + zipname = '%s-%d.zip' % (bundle.get_name(), bundle.get_activity_version()) + bundle_zip = zipfile.ZipFile(zipname, 'w') + + for filename in file_list: + arcname = os.path.join(get_bundle_dir(), filename) + bundle_zip.write(filename, arcname) + + bundle_zip.close() + + os.chdir(orig_path) + +if len(sys.argv) < 2 or sys.argv[1] == 'help': + print_help() +elif sys.argv[1] == 'dev': + setup_dev() +elif sys.argv[1] == 'package': + build_package() -- cgit v0.9.1