Automatically read the profile (lazily)
This commit is contained in:
parent
a7c552c038
commit
93d489741d
@ -723,7 +723,6 @@ class PresenceService(object):
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
from sugar import TracebackUtils
|
from sugar import TracebackUtils
|
||||||
env.read_profile()
|
|
||||||
loop = gobject.MainLoop()
|
loop = gobject.MainLoop()
|
||||||
ps = PresenceService()
|
ps = PresenceService()
|
||||||
tbh = TracebackUtils.TracebackHelper()
|
tbh = TracebackUtils.TracebackHelper()
|
||||||
|
@ -3,6 +3,8 @@ import os
|
|||||||
from ConfigParser import ConfigParser
|
from ConfigParser import ConfigParser
|
||||||
from ConfigParser import NoOptionError
|
from ConfigParser import NoOptionError
|
||||||
|
|
||||||
|
from sugar import env
|
||||||
|
|
||||||
class ActivityModule:
|
class ActivityModule:
|
||||||
"""Info about an activity module. Wraps a .activity file."""
|
"""Info about an activity module. Wraps a .activity file."""
|
||||||
|
|
||||||
@ -54,6 +56,7 @@ class ActivityRegistry:
|
|||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._activities = []
|
self._activities = []
|
||||||
|
self.scan_directory(env.get_activities_dir())
|
||||||
|
|
||||||
def get_activity_from_id(self, activity_id):
|
def get_activity_from_id(self, activity_id):
|
||||||
"""Returns an activity given his identifier"""
|
"""Returns an activity given his identifier"""
|
||||||
|
@ -1,11 +1,27 @@
|
|||||||
import os
|
import os
|
||||||
from ConfigParser import ConfigParser
|
from ConfigParser import ConfigParser
|
||||||
|
|
||||||
from sugar.canvas.IconColor import IconColor
|
from sugar.canvas.IconColor import IconColor
|
||||||
|
from sugar import env
|
||||||
|
|
||||||
class Profile:
|
class Profile:
|
||||||
def __init__(self,):
|
def __init__(self,):
|
||||||
self._path = None
|
self._path = env.get_profile_path()
|
||||||
self._nick_name = None
|
self._nick_name = None
|
||||||
|
self._color = None
|
||||||
|
|
||||||
|
self._ensure_dirs()
|
||||||
|
|
||||||
|
cp = ConfigParser()
|
||||||
|
parsed = cp.read([self._get_config_path()])
|
||||||
|
|
||||||
|
if cp.has_option('Buddy', 'NickName'):
|
||||||
|
self._nick_name = cp.get('Buddy', 'NickName')
|
||||||
|
if cp.has_option('Buddy', 'Color'):
|
||||||
|
self._color = IconColor(cp.get('Buddy', 'Color'))
|
||||||
|
|
||||||
|
if self._color == None:
|
||||||
|
self.set_color(IconColor())
|
||||||
|
|
||||||
def _ensure_dirs(self):
|
def _ensure_dirs(self):
|
||||||
try:
|
try:
|
||||||
@ -29,24 +45,6 @@ class Profile:
|
|||||||
def get_path(self):
|
def get_path(self):
|
||||||
return self._path
|
return self._path
|
||||||
|
|
||||||
def set_path(self, path):
|
|
||||||
self._path = path
|
|
||||||
|
|
||||||
def read(self):
|
|
||||||
self._color = None
|
|
||||||
self._ensure_dirs()
|
|
||||||
|
|
||||||
cp = ConfigParser()
|
|
||||||
parsed = cp.read([self._get_config_path()])
|
|
||||||
|
|
||||||
if cp.has_option('Buddy', 'NickName'):
|
|
||||||
self._nick_name = cp.get('Buddy', 'NickName')
|
|
||||||
if cp.has_option('Buddy', 'Color'):
|
|
||||||
self._color = IconColor(cp.get('Buddy', 'Color'))
|
|
||||||
|
|
||||||
if self._color == None:
|
|
||||||
self.set_color(IconColor())
|
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
cp = ConfigParser()
|
cp = ConfigParser()
|
||||||
|
|
||||||
|
14
sugar/env.py
14
sugar/env.py
@ -8,7 +8,6 @@ except ImportError:
|
|||||||
from sugar.__installed__ import *
|
from sugar.__installed__ import *
|
||||||
|
|
||||||
import sugar.setup
|
import sugar.setup
|
||||||
import sugar.conf
|
|
||||||
|
|
||||||
def add_to_python_path(path):
|
def add_to_python_path(path):
|
||||||
sys.path.insert(0, path)
|
sys.path.insert(0, path)
|
||||||
@ -41,16 +40,6 @@ def setup():
|
|||||||
sugar.setup.write_service('org.laptop.Presence', bin,
|
sugar.setup.write_service('org.laptop.Presence', bin,
|
||||||
sugar_activities_dir)
|
sugar_activities_dir)
|
||||||
|
|
||||||
registry = sugar.conf.get_activity_registry()
|
|
||||||
registry.scan_directory(sugar_activities_dir)
|
|
||||||
|
|
||||||
read_profile()
|
|
||||||
|
|
||||||
def read_profile():
|
|
||||||
profile = sugar.conf.get_profile()
|
|
||||||
profile.set_path(get_profile_path())
|
|
||||||
profile.read()
|
|
||||||
|
|
||||||
def get_profile_path():
|
def get_profile_path():
|
||||||
if os.environ.has_key('SUGAR_PROFILE'):
|
if os.environ.has_key('SUGAR_PROFILE'):
|
||||||
profile_id = os.environ['SUGAR_PROFILE']
|
profile_id = os.environ['SUGAR_PROFILE']
|
||||||
@ -63,5 +52,8 @@ def get_profile_path():
|
|||||||
def get_data_dir():
|
def get_data_dir():
|
||||||
return sugar_data_dir
|
return sugar_data_dir
|
||||||
|
|
||||||
|
def get_activities_dir():
|
||||||
|
return sugar_activities_dir
|
||||||
|
|
||||||
def get_dbus_config():
|
def get_dbus_config():
|
||||||
return sugar_dbus_config
|
return sugar_dbus_config
|
||||||
|
Loading…
Reference in New Issue
Block a user