Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/env.py
blob: 4db74e82e283f41ff01905ed091fcb24ebbf65bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import os
import sys
import pwd

try:
	from sugar.__uninstalled__ import *
except ImportError:
	from sugar.__installed__ import *

import sugar.setup
import sugar.conf

def add_to_python_path(path):
	sys.path.insert(0, path)
	if os.environ.has_key('PYTHONPATH'):
		old_path = os.environ['PYTHONPATH']
		os.environ['PYTHONPATH'] = path + ':' + old_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)
		
		bin = os.path.join(sugar_source_dir, 'shell/sugar-presence-service')
		sugar.setup.write_service('org.laptop.Presence', bin,
								  get_services_dir())

	registry = sugar.conf.get_activity_registry()
	registry.scan_directory(get_activities_dir())

	profile = sugar.conf.get_profile()
	if os.environ.has_key('SUGAR_PROFILE'):
		profile.read(os.environ['SUGAR_PROFILE'])
	else:
		profile.read('default')

def get_user_dir():
	profile = sugar.conf.get_profile()
	return profile.get_path()

def get_nick_name():
	profile = sugar.conf.get_profile()
	return profile.get_nick_name()

def get_data_dir():
	return sugar_data_dir

def get_dbus_config():
	return sugar_dbus_config

def get_data_file(filename):
	return os.path.join(get_data_dir(), filename)
		
def get_activities_dir():
	return sugar_activities_dir

def get_services_dir():
	return sugar_activities_dir