[Sugar-devel] [PATCH sugar] Drop the sugar-ui-check script

Daniel Narvaez dwnarvaez at gmail.com
Wed Jul 4 09:24:17 EDT 2012


From: Daniel Narvaez <dwnarvaez at gmail.com>

This was used by the old buildbot implementation. Now it's unused
and it's not working anymore anyway.
---
 bin/Makefile.am    |    3 +-
 bin/sugar-ui-check |  161 ----------------------------------------------------
 2 files changed, 1 insertion(+), 163 deletions(-)
 delete mode 100644 bin/sugar-ui-check

diff --git a/bin/Makefile.am b/bin/Makefile.am
index 8fc5692..845816c 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -3,8 +3,7 @@ python_scripts =		\
 	sugar-emulator		\
 	sugar-install-bundle	\
 	sugar-launch		\
-	sugar-session		\
-	sugar-ui-check
+	sugar-session
 
 bin_SCRIPTS = 			\
 	sugar			\
diff --git a/bin/sugar-ui-check b/bin/sugar-ui-check
deleted file mode 100644
index 4d71796..0000000
--- a/bin/sugar-ui-check
+++ /dev/null
@@ -1,161 +0,0 @@
-#!/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 logging
-import os
-import sys
-import subprocess
-import time
-
-import dbus
-import gobject
-import gtk
-import wnck
-
-from sugar import wm
-
-from jarabe.model.shell import get_sugar_window_type
-from sugar.bundle.activitybundle import ActivityBundle
-from jarabe import config
-
-checks_queue = []
-checks_failed = []
-checks_succeeded = []
-
-def get_dbus_version():
-    p = subprocess.Popen(['dbus-daemon', '--version'], stdout=subprocess.PIPE)
-
-    output = p.communicate()[0]
-    first_line = output.split('\n')[0]
-
-    return first_line.split(' ')[-1]
-
-class Check(object):
-    def __init__(self):
-        self.name = None
-        self.succeeded = False
-        self.start_time = None
-        self.max_time = None
-        self.timeout = None
-
-    def start(self):
-        logging.info('Start %s check.' % self.name)
-
-        self.start_time = time.time()
-
-    def get_failed(self):
-        if self.max_time and self.start_time:
-            if time.time() - self.start_time > self.max_time:
-                return True
-        return False
-
-    failed = property(get_failed)
-
-class ShellCheck(Check):
-    def __init__(self):
-        Check.__init__(self)
-
-        self.name = 'Shell'
-        self.max_time = 30
-
-    def start(self):
-        Check.start(self)
-
-        screen = wnck.screen_get_default()
-        screen.connect('window-opened', self._window_opened_cb)
-
-    def _window_opened_cb(self, screen, window):
-        if window.get_window_type() == wnck.WINDOW_DESKTOP:
-            self.succeeded = True
-
-class ActivityCheck(Check):
-    def __init__(self, bundle_id):
-        Check.__init__(self)
-
-        self.name = bundle_id
-        self.max_time = 120
-
-    def start(self):
-        Check.start(self)
-
-        self.launch_activity()
-
-        screen = wnck.screen_get_default()
-        screen.connect('window-opened', self._window_opened_cb)
-
-    def launch_activity(self):
-        from sugar.activity import activityfactory
-
-        bus = dbus.SessionBus()
-        proxy = bus.get_object('org.laptop.Shell', '/org/laptop/Shell')
-        iface = dbus.Interface(proxy, 'org.laptop.Shell')
-        path = iface.GetBundlePath(self.name)
-
-        if path:
-            activityfactory.create(ActivityBundle(path))
-        else:
-            logging.error('Cannot find activity %s.' % self.name)
-
-    def _window_opened_cb(self, screen, window):
-        if wm.get_bundle_id(window) == self.name and \
-           get_sugar_window_type(window) != 'launcher':
-            self.succeeded = True
-
-def _timeout_cb():
-    check = checks_queue[0]
-    if check.failed:
-        logging.info('%s check failed.' % (check.name))
-        checks_failed.append(checks_queue.pop(0))
-    elif check.succeeded:
-        logging.info('%s check succeeded.' % (check.name))
-        checks_succeeded.append(checks_queue.pop(0))
-    else:
-        return True
-
-    if len(checks_queue) > 0:
-        checks_queue[0].start()
-    else:
-        gtk.main_quit()
-
-    return True
-
-def main():
-    os.environ['GTK2_RC_FILES'] = os.path.join(config.data_path, 'sugar-100.gtkrc')
-
-    logging.basicConfig(level=logging.INFO,
-                        format='%(asctime)s %(levelname)s %(message)s')
-
-    checks_queue.append(ShellCheck())
-
-    if get_dbus_version() >= '1.2.1':
-        # FIXME needs to get a list of the installed activities
-        checks_queue.append(ActivityCheck('org.laptop.Log'))
-        checks_queue.append(ActivityCheck('org.laptop.Chat'))
-        checks_queue.append(ActivityCheck('org.laptop.WebActivity'))
-        checks_queue.append(ActivityCheck('org.laptop.Pippy'))
-        checks_queue.append(ActivityCheck('org.laptop.Terminal'))
-        checks_queue.append(ActivityCheck('org.laptop.AbiWordActivity'))
-
-    checks_queue[0].start()
-    gobject.timeout_add(500, _timeout_cb)
-
-    gtk.main()
-
-    if len(checks_failed) > 0:
-        sys.exit(1)
-
-main()
-- 
1.7.10.2



More information about the Sugar-devel mailing list