From 662dcc82e3b05feaf2cd46b1f12d073ff6aa48ef Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Mon, 06 Oct 2008 09:57:10 +0000 Subject: Move services and their initialization to a service package. --- (limited to 'bin') diff --git a/bin/sugar-session b/bin/sugar-session index 7fb6fb4..9d7af69 100644 --- a/bin/sugar-session +++ b/bin/sugar-session @@ -18,9 +18,6 @@ import sys import os import gettext -import logging -import time -import shutil import gtk import gobject @@ -31,88 +28,62 @@ dbus.glib.threads_init() from sugar import logger from sugar.profile import get_profile -from sugar.datastore import datastore -from sugar import env -from jarabe.shellservice import ShellService -from jarabe.session import get_session_manager -from jarabe.nmservice import NMService +from jarabe.desktop.homewindow import HomeWindow from jarabe.model import sound -from jarabe.model import screen -from jarabe.journal import journalactivity from jarabe.view import launcher from jarabe import intro -from jarabe import logsmanager from jarabe import config +from jarabe import service + +def uisetup_completed_cb(): + from jarabe.model import screen -def _shell_started_cb(home_window): screen.set_dcon_freeze(0) - if os.path.isfile(os.path.expanduser('~/.sugar-update')): - home_window.get_home_box().show_software_updates_alert() +def uisetup_delayed_cb(home_window): + from jarabe.journal import journalactivity + from jarabe.view.keyhandler import KeyHandler + from jarabe.frame import frame - # Mount the datastore in internal flash - ds_path = env.get_profile_path('datastore') - try: - datastore.mount(ds_path, [], timeout=120) - except Exception, e: - # Don't explode if there's corruption; move the data out of the way - # and attempt to create a store from scratch. - logging.error(e) - shutil.move(ds_path, os.path.abspath(ds_path) + str(time.time())) - datastore.mount(ds_path, [], timeout=120) + frame = frame.get_instance() + + key_handler = KeyHandler(frame) journalactivity.start() + if os.path.isfile(os.path.expanduser('~/.sugar-update')): + home_window.get_home_box().show_software_updates_alert() + def main(): - try: - logsmanager.setup() - except Exception, e: - # logs setup is not critical; it should not prevent sugar from - # starting if (for example) the disk is full or read-only. - print 'Log setup failed: %s' % e + service.start_logsmanager() logger.start('shell') - sys.path.append(config.ext_path) - - gettext.bindtextdomain('sugar', config.locale_path) - gettext.textdomain('sugar') - - icons_path = os.path.join(config.data_path, 'icons') - gtk.icon_theme_get_default().append_search_path(icons_path) - intro.check_profile() - # set timezone if get_profile().timezone is not None: os.environ['TZ'] = get_profile().timezone - from jarabe.frame import frame - frame = frame.get_instance() - - from jarabe.view.keyhandler import KeyHandler - key_handler = KeyHandler(frame) + service.start_all() - from jarabe.desktop.homewindow import HomeWindow - home_window = HomeWindow() - home_window.show() + sound.restore() - ShellService() + sys.path.append(config.ext_path) - launcher.setup() + gettext.bindtextdomain('sugar', config.locale_path) + gettext.textdomain('sugar') - session_manager = get_session_manager() - session_manager.start() + icons_path = os.path.join(config.data_path, 'icons') + gtk.icon_theme_get_default().append_search_path(icons_path) - try: - nm_service = NMService() - except dbus.DBusException: - logging.error("Network manager is already running.") + launcher.setup() - sound.restore() + home_window = HomeWindow() + home_window.show() - gobject.idle_add(_shell_started_cb, home_window) + gobject.idle_add(uisetup_delayed_cb, home_window) + gobject.idle_add(uisetup_completed_cb) try: gtk.main() -- cgit v0.9.1