Make the shell scripts just a tiny wrapper which setup

the python path and run main().
This commit is contained in:
Marco Pesenti Gritti 2008-02-04 20:36:09 +01:00
parent 29fb25407f
commit dbe42ac6d9
11 changed files with 65 additions and 26 deletions

3
bin/.gitignore vendored
View File

@ -1 +1,2 @@
sugar-native-factory sugar-control-panel
sugar-shell

0
bin/sugar-activity Executable file → Normal file
View File

0
bin/sugar-backup Executable file → Normal file
View File

View File

@ -0,0 +1,26 @@
#!/usr/bin/env python
# Copyright (C) 2008, Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import sys
sys.path.insert(0, '@prefix@/share/sugar/shell')
from controlpanel.cmd import main
main()

0
bin/sugar-install-bundle Executable file → Normal file
View File

26
bin/sugar-shell.in Normal file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env python
# Copyright (C) 2008, Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import sys
sys.path.insert(0, '@prefix@/share/sugar/shell')
from main import main
main()

View File

@ -41,8 +41,10 @@ AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
AC_CONFIG_FILES([ AC_CONFIG_FILES([
bin/sugar bin/sugar
bin/sugar-control-panel
bin/sugar-shell
shell/config.py shell/config.py
], [chmod +x sugar]) ])
AC_OUTPUT([ AC_OUTPUT([
Makefile Makefile

View File

@ -2,8 +2,9 @@ SUBDIRS = controlpanel hardware model view intro
sugardir = $(pkgdatadir)/shell sugardir = $(pkgdatadir)/shell
sugar_PYTHON = \ sugar_PYTHON = \
config.py \ config.py \
logsmanager.py \ logsmanager.py \
main.py \
shellservice.py shellservice.py
confdir = $(pkgdatadir)/shell confdir = $(pkgdatadir)/shell

View File

@ -1,4 +1,5 @@
sugardir = $(pkgdatadir)/shell/controlpanel sugardir = $(pkgdatadir)/shell/controlpanel
sugar_PYTHON = \ sugar_PYTHON = \
__init__.py \ __init__.py \
cmd.py \
control.py control.py

7
bin/sugar-control-panel → shell/controlpanel/cmd.py Executable file → Normal file
View File

@ -1,5 +1,3 @@
#!/usr/bin/env python
# Copyright (C) 2007, One Laptop Per Child # Copyright (C) 2007, One Laptop Per Child
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
@ -23,8 +21,6 @@ from gettext import gettext as _
from sugar import env from sugar import env
sys.path.insert(0, env.get_shell_path())
from controlpanel import control from controlpanel import control
def cmd_help(): def cmd_help():
@ -82,6 +78,3 @@ def main():
method(*args) method(*args)
except Exception, e: except Exception, e:
print _("sugar-control-panel: %s"% e) print _("sugar-control-panel: %s"% e)
if __name__ == '__main__':
main()

21
bin/sugar-shell → shell/main.py Executable file → Normal file
View File

@ -1,4 +1,3 @@
#!/usr/bin/env python
# Copyright (C) 2006, Red Hat, Inc. # Copyright (C) 2006, Red Hat, Inc.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -33,8 +32,6 @@ from sugar import env
from sugar import logger from sugar import logger
from sugar.profile import get_profile from sugar.profile import get_profile
sys.path.insert(0, env.get_shell_path())
from view.Shell import Shell from view.Shell import Shell
from model.shellmodel import ShellModel from model.shellmodel import ShellModel
from shellservice import ShellService from shellservice import ShellService
@ -102,6 +99,9 @@ def main():
_start_matchbox() _start_matchbox()
_setup_translations() _setup_translations()
hw_manager = hardwaremanager.get_manager()
hw_manager.startup()
icons_path = env.get_data_path('icons') icons_path = env.get_data_path('icons')
gtk.icon_theme_get_default().append_search_path(icons_path) gtk.icon_theme_get_default().append_search_path(icons_path)
@ -131,7 +131,8 @@ def main():
print RuntimeError("%s connection manager not found!" % cm_name) print RuntimeError("%s connection manager not found!" % cm_name)
while not check_cm(cm['busname']): while not check_cm(cm['busname']):
print "Waiting for %s on: DBUS_SESSION_BUS_ADDRESS=%s" %(cm_name, os.environ["DBUS_SESSION_BUS_ADDRESS"]) print "Waiting for %s on: DBUS_SESSION_BUS_ADDRESS=%s" % \
(cm_name, os.environ["DBUS_SESSION_BUS_ADDRESS"])
try: try:
time.sleep(5) time.sleep(5)
except KeyboardInterrupt: except KeyboardInterrupt:
@ -142,18 +143,6 @@ def main():
shell = Shell(model) shell = Shell(model)
service = ShellService(shell) service = ShellService(shell)
if __name__ == '__main__':
# running the gtk.main outside of the main() function allows us to
# profile startup times. To profile startup times replace the following
# call to main with:
# import cProfile
# cProfile.run('main()', '/home/olpc/sugar-startup.stats')
main()
hw_manager = hardwaremanager.get_manager()
hw_manager.startup()
try: try:
gtk.main() gtk.main()
except KeyboardInterrupt: except KeyboardInterrupt: