diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-18 04:24:32 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-18 04:24:32 (GMT) |
commit | 11a923d4b10842d65b07456f25522e7d662f3edc (patch) | |
tree | db8ea936f80ca8e1f7013860d200bdba06379758 /sugar/session | |
parent | 64dc217f52dfd1a161fccde29ccbc1a94f5111f9 (diff) |
Load session from .activity files
Diffstat (limited to 'sugar/session')
-rw-r--r-- | sugar/session/session.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sugar/session/session.py b/sugar/session/session.py index b58dfd9..415d309 100644 --- a/sugar/session/session.py +++ b/sugar/session/session.py @@ -1,16 +1,30 @@ import os import sys +from ConfigParser import ConfigParser import pygtk pygtk.require('2.0') import gtk from sugar.shell import shell +from sugar import env def start(console): shell.main() - activities = ['sugar/chat/chat', 'sugar/browser/browser'] + activities = [] + + for data_dir in env.get_data_dirs(): + activities_dir = os.path.join(data_dir, env.get_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 activity in activities: args = [ 'python', '-m', activity ] |