Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-06-21 20:05:52 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-06-21 20:05:52 (GMT)
commit9ea68051741d6e7b0bde4e6c7326cde4a14f6238 (patch)
treea41c5b1c25140173c90459ac58388002067f2c99
parentf4e2791c897651d52980d35b84115e7c7f85a249 (diff)
More work on packages refactoring, mostly working
-rw-r--r--Makefile.am2
-rw-r--r--activities/browser/BrowserActivity.py6
-rw-r--r--activities/browser/Makefile.am17
-rwxr-xr-xactivities/browser/browser.py4
-rw-r--r--activities/browser/browser.rc7
-rw-r--r--activities/browser/fold.pngbin156 -> 0 bytes
-rw-r--r--activities/browser/unfold.pngbin157 -> 0 bytes
-rw-r--r--configure.ac4
-rw-r--r--shell/Makefile.am10
-rw-r--r--shell/google/Makefile.am5
-rw-r--r--shell/session/Makefile.am5
-rw-r--r--shell/session/session.py40
-rwxr-xr-xshell/shell.py2
-rwxr-xr-xshell/sugar17
-rw-r--r--sugar/LogWriter.py (renamed from sugar/session/LogWriter.py)0
-rw-r--r--sugar/Makefile.am8
-rw-r--r--sugar/__installed__.py.in5
-rw-r--r--sugar/__uninstalled__.py5
-rw-r--r--sugar/activity/Activity.py (renamed from sugar/activity/activity.py)0
-rw-r--r--sugar/chat/Makefile.am3
-rw-r--r--sugar/env.py27
-rw-r--r--sugar/session/__init__.py0
22 files changed, 76 insertions, 91 deletions
diff --git a/Makefile.am b/Makefile.am
index a35c559..1a80c99 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1 +1 @@
-SUBDIRS = sugar cut-n-paste
+SUBDIRS = activities shell sugar
diff --git a/activities/browser/BrowserActivity.py b/activities/browser/BrowserActivity.py
index 662313f..2f851dd 100644
--- a/activities/browser/BrowserActivity.py
+++ b/activities/browser/BrowserActivity.py
@@ -6,7 +6,7 @@ pygtk.require('2.0')
import gtk
import geckoembed
-from sugar.activity import activity
+from sugar.activity.Activity import Activity
from sugar.presence.PresenceService import PresenceService
from sugar.p2p.model.LocalModel import LocalModel
from sugar.p2p.model.RemoteModel import RemoteModel
@@ -18,13 +18,13 @@ _BROWSER_ACTIVITY_TYPE = "_web_olpc._udp"
_SERVICE_URI_TAG = "URI"
_SERVICE_TITLE_TAG = "Title"
-class BrowserActivity(activity.Activity):
+class BrowserActivity(Activity):
SOLO = 1
FOLLOWING = 2
LEADING = 3
def __init__(self, uri, mode = SOLO):
- activity.Activity.__init__(self, _BROWSER_ACTIVITY_TYPE)
+ Activity.__init__(self, _BROWSER_ACTIVITY_TYPE)
self.uri = uri
self._mode = mode
diff --git a/activities/browser/Makefile.am b/activities/browser/Makefile.am
index 2c66e22..b25e52d 100644
--- a/activities/browser/Makefile.am
+++ b/activities/browser/Makefile.am
@@ -1,4 +1,4 @@
-sugardir = $(pythondir)/sugar/browser
+sugardir = $(pkgdatadir)/activities/browser
sugar_PYTHON = \
__init__.py \
browser.py \
@@ -8,18 +8,7 @@ sugar_PYTHON = \
BrowserActivity.py \
NavigationToolbar.py
-icondir = $(pkgdatadir)
-icon_DATA = \
- fold.png \
- unfold.png
-
-rcdir = $(pkgdatadir)
-rc_DATA = browser.rc
-
-activitydir = $(pkgdatadir)/activities
+activitydir = $(pkgdatadir)/activities/browser
activity_DATA = browser.activity
-EXTRA_DIST = \
- $(rc_DATA) \
- $(activity_DATA) \
- $(icon_DATA)
+EXTRA_DIST = $(activity_DATA)
diff --git a/activities/browser/browser.py b/activities/browser/browser.py
index bdfa2bd..02267fc 100755
--- a/activities/browser/browser.py
+++ b/activities/browser/browser.py
@@ -6,15 +6,13 @@ import gtk
import dbus
import sugar.env
-from sugar.session.LogWriter import LogWriter
+from sugar.LogWriter import LogWriter
from BrowserShell import BrowserShell
log_writer = LogWriter("Web")
log_writer.start()
-gtk.rc_parse(sugar.env.get_data_file('browser.rc'))
-
session_bus = dbus.SessionBus()
bus_name = dbus.service.BusName('com.redhat.Sugar.Browser', bus=session_bus)
shell = BrowserShell(bus_name)
diff --git a/activities/browser/browser.rc b/activities/browser/browser.rc
deleted file mode 100644
index 69f1320..0000000
--- a/activities/browser/browser.rc
+++ /dev/null
@@ -1,7 +0,0 @@
-style "NotificationBarButton" = "button"
-{
- xthickness = 0
- ythickness = 0
-}
-
-widget "*.notif bar.*GtkButton*" style "NotificationBarButton"
diff --git a/activities/browser/fold.png b/activities/browser/fold.png
deleted file mode 100644
index cd4169b..0000000
--- a/activities/browser/fold.png
+++ /dev/null
Binary files differ
diff --git a/activities/browser/unfold.png b/activities/browser/unfold.png
deleted file mode 100644
index f3f82fa..0000000
--- a/activities/browser/unfold.png
+++ /dev/null
Binary files differ
diff --git a/configure.ac b/configure.ac
index df8922f..c87101a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,12 +17,14 @@ AC_SUBST(PYGTK_LIBS)
AC_OUTPUT([
Makefile
+activities/Makefile
activities/browser/Makefile
-cut-n-paste/Makefile
shell/Makefile
+shell/google/Makefile
shell/session/Makefile
sugar/Makefile
sugar/__installed__.py
+sugar/activity/Makefile
sugar/chat/Makefile
sugar/chat/sketchpad/Makefile
sugar/p2p/Makefile
diff --git a/shell/Makefile.am b/shell/Makefile.am
index 1080b7d..e044fa2 100644
--- a/shell/Makefile.am
+++ b/shell/Makefile.am
@@ -1,8 +1,12 @@
-sugardir = $(pythondir)/sugar/shell
+SUBDIRS = google session
+
+bin_SCRIPTS = sugar
+
+sugardir = $(pkgdatadir)/shell
sugar_PYTHON = \
__init__.py \
- activity.py \
shell.py \
Owner.py \
PresenceWindow.py \
- StartPage.py
+ StartPage.py \
+ WindowManager.py
diff --git a/shell/google/Makefile.am b/shell/google/Makefile.am
index 89ba29e..0f6057c 100644
--- a/shell/google/Makefile.am
+++ b/shell/google/Makefile.am
@@ -1,5 +1,6 @@
-cut_n_pastedir = $(datadir)/sugar
-cut_n_paste_PYTHON = \
+googledir = $(pkgdatadir)/shell/google
+google_PYTHON = \
+ __init__.py \
google.py \
GoogleSOAPFacade.py \
SOAP.py
diff --git a/shell/session/Makefile.am b/shell/session/Makefile.am
index a8ba913..23e4194 100644
--- a/shell/session/Makefile.am
+++ b/shell/session/Makefile.am
@@ -1,5 +1,4 @@
-sugardir = $(pythondir)/sugar/session
+sugardir = $(pkgdatadir)/shell/session
sugar_PYTHON = \
__init__.py \
- session.py \
- LogWriter.py
+ session.py
diff --git a/shell/session/session.py b/shell/session/session.py
index 2ddc554..2f6eab2 100644
--- a/shell/session/session.py
+++ b/shell/session/session.py
@@ -17,25 +17,33 @@ class Session:
shell = Shell()
shell.connect('close', self._shell_close_cb)
shell.start()
-
- activities = []
- activities_dirs = []
- for data_dir in env.get_data_dirs():
- act_dir = os.path.join(data_dir, env.get_activities_dir())
- activities_dirs.append(act_dir)
+ self._run_activities()
- activities_dirs.append(os.path.join(env.get_user_dir(), 'activities'))
+ def _run_activities(self):
+ base_dirs = []
- for activities_dir in activities_dirs:
- if os.path.isdir(activities_dir):
- for filename in os.listdir(activities_dir):
- if filename.endswith(".activity"):
- path = os.path.join(activities_dir, filename)
- cp = ConfigParser()
- cp.read([path])
- python_class = cp.get('Activity', "python_class")
- activities.append(python_class)
+ base_dirs.append(env.get_activities_dir())
+ base_dirs.append(os.path.join(env.get_user_dir(), 'activities'))
+
+ for base_dir in base_dirs:
+ if os.path.isdir(base_dir):
+ for filename in os.listdir(base_dir):
+ activity_dir = os.path.join(base_dir, filename)
+ if os.path.isdir(activity_dir):
+ self._run_activity(os.path.abspath(activity_dir))
+
+ def _run_activity(self, activity_dir):
+ env.add_to_python_path(activity_dir)
+
+ activities = []
+ for filename in os.listdir(activity_dir):
+ if filename.endswith(".activity"):
+ path = os.path.join(activity_dir, filename)
+ cp = ConfigParser()
+ cp.read([path])
+ python_class = cp.get('Activity', "python_class")
+ activities.append(python_class)
for activity in activities:
args = [ 'python', '-m', activity ]
diff --git a/shell/shell.py b/shell/shell.py
index 18eceeb..e4cc36a 100755
--- a/shell/shell.py
+++ b/shell/shell.py
@@ -11,7 +11,7 @@ import gobject
import sugar.util
from sugar.chat.ChatWindow import ChatWindow
from sugar.chat.GroupChat import GroupChat
-from sugar.session.LogWriter import LogWriter
+from sugar.LogWriter import LogWriter
from Owner import ShellOwner
from StartPage import StartPage
diff --git a/shell/sugar b/shell/sugar
index ccfdd00..ad1905b 100755
--- a/shell/sugar
+++ b/shell/sugar
@@ -9,13 +9,6 @@ import pygtk
pygtk.require('2.0')
import gobject
-def add_to_python_path(path):
- sys.path.insert(0, path)
- if os.environ.has_key('PYTHONPATH'):
- os.environ['PYTHONPATH'] += ':' + path
- else:
- os.environ['PYTHONPATH'] = path
-
def start_dbus():
curdir = os.path.dirname(__file__)
args = "/bin/dbus-daemon --session --print-address".split()
@@ -60,16 +53,16 @@ if not os.environ.has_key("SUGAR_NICK_NAME"):
curdir = os.path.abspath(os.path.dirname(__file__))
basedir = os.path.dirname(curdir)
+import sugar.env
+
if os.path.isfile(os.path.join(basedir, 'sugar/__uninstalled__.py')):
print 'Running sugar from ' + basedir + ' ...'
- add_to_python_path(basedir)
- add_to_python_path(os.path.join(basedir, 'shell'))
- add_to_python_path(os.path.join(basedir, 'activities/browser'))
+ sugar.env.add_to_python_path(basedir)
+ sugar.env.add_to_python_path(os.path.join(basedir, 'shell'))
else:
+ sugar.env.add_to_python_path(os.path.join(sugar.env.get_data_dir(), 'shell'))
print 'Running the installed sugar...'
-add_to_python_path(os.path.expanduser('~/.sugar/activities'))
-
print 'Redirecting output to the console, press ctrl+d to open it.'
from session.session import Session
diff --git a/sugar/session/LogWriter.py b/sugar/LogWriter.py
index a04d14b..a04d14b 100644
--- a/sugar/session/LogWriter.py
+++ b/sugar/LogWriter.py
diff --git a/sugar/Makefile.am b/sugar/Makefile.am
index eb28f89..5fe8ee7 100644
--- a/sugar/Makefile.am
+++ b/sugar/Makefile.am
@@ -1,12 +1,12 @@
-SUBDIRS = chat browser p2p shell session presence
-
-bin_SCRIPTS = sugar
+SUBDIRS = activity chat p2p presence
sugardir = $(pythondir)/sugar
sugar_PYTHON = \
__init__.py \
__installed__.py \
+ bots.py \
env.py \
- util.py
+ util.py \
+ LogWriter.py
EXTRA_DIST = sugar __uninstalled__.py
diff --git a/sugar/__installed__.py.in b/sugar/__installed__.py.in
index fd39247..1b3a64b 100644
--- a/sugar/__installed__.py.in
+++ b/sugar/__installed__.py.in
@@ -1,3 +1,2 @@
-data_basedir = '@prefix@/share/'
-data_dirs = [ 'sugar' ]
-activities_dir = 'activities'
+sugar_data_dir = '@prefix@/share/sugar'
+sugar_activities_dir = '@prefix@/share/sugar/activities'
diff --git a/sugar/__uninstalled__.py b/sugar/__uninstalled__.py
index 286a735..6b2e1dd 100644
--- a/sugar/__uninstalled__.py
+++ b/sugar/__uninstalled__.py
@@ -1,5 +1,4 @@
import os
-data_basedir = os.path.dirname(os.path.dirname(__file__))
-data_dirs = [ 'activities/browser' ]
-activities_dir = ''
+sugar_data_dir = os.path.dirname(os.path.dirname(__file__))
+sugar_activities_dir = os.path.join(sugar_data_dir, 'activities')
diff --git a/sugar/activity/activity.py b/sugar/activity/Activity.py
index 509565c..509565c 100644
--- a/sugar/activity/activity.py
+++ b/sugar/activity/Activity.py
diff --git a/sugar/chat/Makefile.am b/sugar/chat/Makefile.am
index 0d9eaae..b3ab5eb 100644
--- a/sugar/chat/Makefile.am
+++ b/sugar/chat/Makefile.am
@@ -4,6 +4,9 @@ sugardir = $(pythondir)/sugar/chat
sugar_PYTHON = \
__init__.py \
Chat.py \
+ ChatEditor.py \
+ ChatToolbar.py \
+ ChatWindow.py \
Emoticons.py \
GroupChat.py \
richtext.py
diff --git a/sugar/env.py b/sugar/env.py
index 1135791..df1fb30 100644
--- a/sugar/env.py
+++ b/sugar/env.py
@@ -1,10 +1,18 @@
import os
+import sys
try:
from sugar.__uninstalled__ import *
except ImportError:
from sugar.__installed__ import *
+def add_to_python_path(path):
+ sys.path.insert(0, path)
+ if os.environ.has_key('PYTHONPATH'):
+ os.environ['PYTHONPATH'] += ':' + path
+ else:
+ os.environ['PYTHONPATH'] = path
+
def get_user_dir():
if os.environ.has_key('SUGAR_USER_DIR'):
return os.environ['SUGAR_USER_DIR']
@@ -22,20 +30,9 @@ def get_nick_name():
return os.environ['SUGAR_NICK_NAME']
else:
return None
-
-def get_data_file(filename):
- for data_dir in get_data_dirs():
- path = os.path.join(data_dir, filename)
- if os.path.isfile(path):
- return path
- return None
-def get_data_dirs():
- dirs = []
- for data_dir in data_dirs:
- path = os.path.join(data_basedir, data_dir)
- dirs.append(path)
- return dirs
-
+def get_data_dir():
+ return sugar_data_dir
+
def get_activities_dir():
- return activities_dir
+ return sugar_activities_dir
diff --git a/sugar/session/__init__.py b/sugar/session/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/sugar/session/__init__.py
+++ /dev/null