Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/session/session.py
diff options
context:
space:
mode:
Diffstat (limited to 'shell/session/session.py')
-rw-r--r--shell/session/session.py40
1 files changed, 24 insertions, 16 deletions
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 ]