Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-08-12 21:35:52 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-08-12 21:35:52 (GMT)
commitbb60b8ad3eefa7d98cd0d7659860209d5c411001 (patch)
treeb50182c9fbbbbad4a06cff6602387dfed71e5792 /sugar
parentd41c761e022ef9858c34edae9850611215665029 (diff)
Cleanup environemnt setup
Diffstat (limited to 'sugar')
-rw-r--r--sugar/Makefile.am3
-rw-r--r--sugar/__installed__.py.in6
-rw-r--r--sugar/__uninstalled__.py17
-rw-r--r--sugar/env.py21
-rwxr-xr-xsugar/setup.py8
5 files changed, 47 insertions, 8 deletions
diff --git a/sugar/Makefile.am b/sugar/Makefile.am
index 2a06eb4..91a7362 100644
--- a/sugar/Makefile.am
+++ b/sugar/Makefile.am
@@ -7,7 +7,6 @@ sugar_PYTHON = \
bots.py \
env.py \
setup.py \
- util.py \
- LogWriter.py
+ util.py
EXTRA_DIST = __uninstalled__.py
diff --git a/sugar/__installed__.py.in b/sugar/__installed__.py.in
index 15e39a3..e93fd20 100644
--- a/sugar/__installed__.py.in
+++ b/sugar/__installed__.py.in
@@ -1,4 +1,8 @@
+sugar_source_dir = None
sugar_data_dir = '@prefix@/share/sugar'
-sugar_activity_runner = '@prefix@/bin/sugar-activity'
sugar_activities_dir = '@prefix@/share/sugar/activities'
sugar_dbus_config = '@prefix@/share/sugar/dbus-installed.conf'
+
+sugar_python_path = ['@prefix@/share/sugar/shell',
+ '@prefix@/share/sugar/activities]
+sugar_bin_path = []
diff --git a/sugar/__uninstalled__.py b/sugar/__uninstalled__.py
index a478e0c..b34ffaf 100644
--- a/sugar/__uninstalled__.py
+++ b/sugar/__uninstalled__.py
@@ -1,7 +1,16 @@
import os
+import tempfile
-_source_dir = os.path.dirname(os.path.dirname(__file__))
+sugar_source_dir = os.path.dirname(os.path.dirname(__file__))
-sugar_data_dir = os.path.join(_source_dir, 'shell/data')
-sugar_activities_dir = os.path.join(_source_dir, 'activities')
-sugar_dbus_config = os.path.join(_source_dir, 'dbus-uninstalled.conf')
+sugar_data_dir = os.path.join(sugar_source_dir, 'shell/data')
+sugar_activities_dir = os.path.join(tempfile.gettempdir(), 'sugar')
+sugar_dbus_config = os.path.join(sugar_source_dir, 'dbus-uninstalled.conf')
+
+sugar_python_path = []
+sugar_python_path.append(sugar_source_dir)
+sugar_python_path.append(os.path.join(sugar_source_dir, 'shell'))
+sugar_python_path.append(os.path.join(sugar_source_dir, 'activities'))
+
+sugar_bin_path = []
+sugar_bin_path.append(os.path.join(sugar_source_dir, 'shell'))
diff --git a/sugar/env.py b/sugar/env.py
index cbfd6c8..6d5fba0 100644
--- a/sugar/env.py
+++ b/sugar/env.py
@@ -7,6 +7,8 @@ try:
except ImportError:
from sugar.__installed__ import *
+import sugar.setup
+
def add_to_python_path(path):
sys.path.insert(0, path)
if os.environ.has_key('PYTHONPATH'):
@@ -14,6 +16,25 @@ def add_to_python_path(path):
else:
os.environ['PYTHONPATH'] = path
+def add_to_bin_path(path):
+ if os.environ.has_key('PATH'):
+ old_path = os.environ['PATH']
+ os.environ['PATH'] = path + ':' + old_path
+ else:
+ os.environ['PATH'] = path
+
+def setup():
+ for path in sugar_python_path:
+ add_to_python_path(path)
+
+ for path in sugar_bin_path:
+ add_to_bin_path(path)
+
+ if sugar_source_dir:
+ source = os.path.join(sugar_source_dir, 'activities')
+ runner = os.path.join(sugar_source_dir, 'shell/sugar-activity-factory')
+ sugar.setup.setup_activities(source, get_activities_dir(), runner)
+
def get_user_dir():
if os.environ.has_key('SUGAR_NICK_NAME'):
nick = get_nick_name()
diff --git a/sugar/setup.py b/sugar/setup.py
index 05dacb3..ba5d750 100755
--- a/sugar/setup.py
+++ b/sugar/setup.py
@@ -48,7 +48,13 @@ def setup_activity(source, dest_path, bin):
fileobject.close()
def setup_activities(source_path, dest_path, bin):
- """Scan a directory for activities and install them."""
+ """Scan a directory for activities and install them."""
+ if not os.path.isdir(dest_path):
+ os.mkdir(dest_path)
+ else:
+ # FIXME delete the whole directory
+ pass
+
if os.path.isdir(source_path):
for filename in os.listdir(source_path):
activity_dir = os.path.join(source_path, filename)