More work on packages refactoring, mostly working
This commit is contained in:
+7
-3
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
sugardir = $(pythondir)/sugar/session
|
||||
sugardir = $(pkgdatadir)/shell/session
|
||||
sugar_PYTHON = \
|
||||
__init__.py \
|
||||
session.py \
|
||||
LogWriter.py
|
||||
session.py
|
||||
|
||||
+25
-17
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user