Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/session
diff options
context:
space:
mode:
authorMarco 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)
commit11a923d4b10842d65b07456f25522e7d662f3edc (patch)
treedb8ea936f80ca8e1f7013860d200bdba06379758 /sugar/session
parent64dc217f52dfd1a161fccde29ccbc1a94f5111f9 (diff)
Load session from .activity files
Diffstat (limited to 'sugar/session')
-rw-r--r--sugar/session/session.py16
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 ]