More work on packages refactoring, mostly working

This commit is contained in:
Marco Pesenti Gritti
2006-06-21 16:05:52 -04:00
parent f4e2791c89
commit 9ea6805174
22 changed files with 77 additions and 92 deletions
+7 -3
View File
@@ -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
+3 -2
View File
@@ -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
+2 -3
View File
@@ -1,5 +1,4 @@
sugardir = $(pythondir)/sugar/session
sugardir = $(pkgdatadir)/shell/session
sugar_PYTHON = \
__init__.py \
session.py \
LogWriter.py
session.py
+25 -17
View File
@@ -17,25 +17,33 @@ class Session:
shell = Shell()
shell.connect('close', self._shell_close_cb)
shell.start()
self._run_activities()
def _run_activities(self):
base_dirs = []
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 = []
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)
activities_dirs.append(os.path.join(env.get_user_dir(), 'activities'))
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)
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 ]
+1 -1
View File
@@ -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
+5 -12
View File
@@ -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