[sabayon] Fixed race conditions in paneldelegate.py at the expense of some nicer log printing, added Scott Bal



commit a6c991fae5dbf5b110b2aec47245e74a700f2347
Author: Scott Balneaves <sbalneav ltsp org>
Date:   Mon Dec 7 13:17:08 2009 -0600

    Fixed race conditions in paneldelegate.py at the expense of some nicer log printing, added Scott Balneaves to AUTHORS

 AUTHORS                      |    1 +
 lib/sources/paneldelegate.py |  141 ++++++++++++++++++++++--------------------
 2 files changed, 76 insertions(+), 66 deletions(-)
---
diff --git a/AUTHORS b/AUTHORS
index 08d7b84..11a15f4 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -4,3 +4,4 @@ Federico Mena-Quintero <federico novell com>
 John Dennis <jdennis redhat com>
 Mark McLoughlin <markmc redhat com>
 Sayamindu Dasgupta <sayamindu gmail com>
+Scott Balneaves <sbalneav ltsp org>
diff --git a/lib/sources/paneldelegate.py b/lib/sources/paneldelegate.py
index 8386823..6087f5c 100755
--- a/lib/sources/paneldelegate.py
+++ b/lib/sources/paneldelegate.py
@@ -74,63 +74,69 @@ class PanelAppletAddedChange (PanelChange):
     def __init__ (self, source, delegate, id):
         PanelChange.__init__ (self, source, delegate, id)
     def get_short_description (self):
+        return _("Applet '%s' added" % self.id)
         # FIXME: This only works if panel object type is bonobo-applet. Are all applets bonobo-applets ?
-        panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
-        toplevel_id = panel_applet.toplevel_id
-        name = panel_applet.name
-
-        panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
-        panel_orientation = panel_toplevel.orientation
-
-        if panel_orientation == "top":
-            return _("Applet %s added to top panel") % name
-        elif panel_orientation == "bottom":
-            return _("Applet %s added to bottom panel") % name
-        elif panel_orientation == "left":
-            return _("Applet %s added to left panel") % name
-        else:
-            return _("Applet %s added to right panel") % name
+        # FIXME: Race condition with the code below.
+        # panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
+        # toplevel_id = panel_applet.toplevel_id
+        # name = panel_applet.name
+
+        # panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
+        # panel_orientation = panel_toplevel.orientation
+
+        # if panel_orientation == "top":
+        #     return _("Applet %s added to top panel") % name
+        # elif panel_orientation == "bottom":
+        #     return _("Applet %s added to bottom panel") % name
+        # elif panel_orientation == "left":
+        #     return _("Applet %s added to left panel") % name
+        # else:
+        #     return _("Applet %s added to right panel") % name
 
 class PanelAppletRemovedChange (PanelChange):
     def __init__ (self, source, delegate, id):
         PanelChange.__init__ (self, source, delegate, id)
     def get_short_description (self):
+        return _("Applet '%s' removed" % self.id)
         # FIXME: This only works if panel object type is bonobo-applet. Are all applets bonobo-applets ?
-        panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
-        toplevel_id = panel_applet.toplevel_id
-        name = panel_applet.name
-
-        panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
-        panel_orientation = panel_toplevel.orientation
-
-        if panel_orientation == "top":
-            return _("Applet %s removed from top panel") % name
-        elif panel_orientation == "bottom":
-            return _("Applet %s removed from bottom panel") % name
-        elif panel_orientation == "left":
-            return _("Applet %s removed from left panel") % name
-        else:
-            return _("Applet %s removed from right panel") % name
+        # FIXME: Race condition with the code below.
+        # panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
+        # toplevel_id = panel_applet.toplevel_id
+        # name = panel_applet.name
+
+        # panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
+        # panel_orientation = panel_toplevel.orientation
+
+        # if panel_orientation == "top":
+        #     return _("Applet %s removed from top panel") % name
+        # elif panel_orientation == "bottom":
+        #     return _("Applet %s removed from bottom panel") % name
+        # elif panel_orientation == "left":
+        #     return _("Applet %s removed from left panel") % name
+        # else:
+        #     return _("Applet %s removed from right panel") % name
 
 class PanelObjectAddedChange (PanelChange):
     def __init__ (self, source, delegate, id):
         PanelChange.__init__ (self, source, delegate, id)
     def get_short_description (self):
-        panel_object = self.delegate.PanelObject(self.delegate, self.id)
-        toplevel_id = panel_object.toplevel_id
-        name = panel_object.name
-
-        panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
-        panel_orientation = panel_toplevel.orientation
-
-        if panel_orientation == "top":
-            return _("%s added to top panel") % name
-        elif panel_orientation == "bottom":
-            return _("%s added to bottom panel") % name
-        elif panel_orientation == "left":
-            return _("%s added to left panel") % name
-        else:
-            return _("%s added to right panel") % name
+        return _("Object '%s' added" % self.id)
+        # FIXME: Race condition with code below.
+        # panel_object = self.delegate.PanelObject(self.delegate, self.id)
+        # toplevel_id = panel_object.toplevel_id
+        # name = panel_object.name
+
+        # panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
+        # panel_orientation = panel_toplevel.orientation
+
+        # if panel_orientation == "top":
+        #     return _("%s added to top panel") % name
+        # elif panel_orientation == "bottom":
+        #     return _("%s added to bottom panel") % name
+        # elif panel_orientation == "left":
+        #     return _("%s added to left panel") % name
+        # else:
+        #     return _("%s added to right panel") % name
 
     def commit_change (self, mandatory):
         # Might have to commit a launcher file
@@ -143,21 +149,23 @@ class PanelObjectRemovedChange (PanelChange):
     def __init__ (self, source, delegate, id):
         PanelChange.__init__ (self, source, delegate, id)
     def get_short_description (self):
-        panel_object = self.delegate.PanelObject(self.delegate, self.id)
-        toplevel_id = panel_object.toplevel_id
-        name = panel_object.name
-
-        panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
-        panel_orientation = panel_toplevel.orientation
-
-        if panel_orientation == "top":
-            return _("%s removed from top panel") % name
-        elif panel_orientation == "bottom":
-            return _("%s removed from bottom panel") % name
-        elif panel_orientation == "left":
-            return _("%s removed from left panel") % name
-        else:
-            return _("%s removed from right panel") % name
+        return _("Object '%s' removed" % self.id)
+        # FIXME: Race condition with code below.
+        # panel_object = self.delegate.PanelObject(self.delegate, self.id)
+        # toplevel_id = panel_object.toplevel_id
+        # name = panel_object.name
+
+        # panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
+        # panel_orientation = panel_toplevel.orientation
+
+        # if panel_orientation == "top":
+        #     return _("%s removed from top panel") % name
+        # elif panel_orientation == "bottom":
+        #     return _("%s removed from bottom panel") % name
+        # elif panel_orientation == "left":
+        #     return _("%s removed from left panel") % name
+        # else:
+        #     return _("%s removed from right panel") % name
 
     def commit_change (self, mandatory):
         launcher = self.delegate.get_gconf_client ().get_string (PANEL_KEY_BASE + "/objects/" + self.id + "/launcher_location")
@@ -208,12 +216,13 @@ class PanelDelegate (userprofile.SourceDelegate):
                     id,
                     toplevel_key_name, self.toplevel_id,
                     bonobo_iid_key_name, self.bonobo_iid)
-
-            applet = bonobo.activation.query("iid == '" + self.bonobo_iid + "'" )
-            for i in applet:
-                for prop in i.props:
-                    if prop.name == "name":
-                        self.name = prop.v.value_string #FIXME: This probably won't return localised names
+            
+            if self.bonobo_iid:
+                applet = bonobo.activation.query("iid == '" + self.bonobo_iid + "'" )
+                for i in applet:
+                    for prop in i.props:
+                        if prop.name == "name":
+                            self.name = prop.v.value_string #FIXME: This probably won't return localised names
 
 
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]