Bumping to 1.1.3
[gc-dialer] / src / gtk_toolbox.py
index 26803d7..17dc166 100644 (file)
@@ -17,6 +17,9 @@ import gobject
 import gtk
 
 
+_moduleLogger = logging.getLogger("gtk_toolbox")
+
+
 def get_screen_orientation():
        width, height = gtk.gdk.get_default_root_window().get_size()
        if width < height:
@@ -215,7 +218,7 @@ def comap(function, target):
                        mappedItem = function(*item)
                        target.send(mappedItem)
                except Exception, e:
-                       logging.exception("Forwarding exception!")
+                       _moduleLogger.exception("Forwarding exception!")
                        target.throw(e.__class__, str(e))
 
 
@@ -281,6 +284,22 @@ def threaded_stage(target, thread_factory = threading.Thread):
        return queue_sink(messages)
 
 
+def log_exception(logger):
+
+       def log_exception_decorator(func):
+
+               @functools.wraps(func)
+               def wrapper(*args, **kwds):
+                       try:
+                               return func(*args, **kwds)
+                       except Exception:
+                               logger.exception(func.__name__)
+
+               return wrapper
+
+       return log_exception_decorator
+
+
 class LoginWindow(object):
 
        def __init__(self, widgetTree):
@@ -395,11 +414,11 @@ def safecall(f, errorDisplay=None, default=None, exception=Exception):
 
 class ErrorDisplay(object):
 
-       def __init__(self, widgetTree):
+       def __init__(self, errorBox, errorDescription, errorClose):
                super(ErrorDisplay, self).__init__()
-               self.__errorBox = widgetTree.get_widget("errorEventBox")
-               self.__errorDescription = widgetTree.get_widget("errorDescription")
-               self.__errorClose = widgetTree.get_widget("errorClose")
+               self.__errorBox = errorBox
+               self.__errorDescription = errorDescription
+               self.__errorClose = errorClose
                self.__parentBox = self.__errorBox.get_parent()
 
                self.__errorBox.connect("button_release_event", self._on_close)
@@ -423,7 +442,7 @@ class ErrorDisplay(object):
        def push_exception(self):
                userMessage = str(sys.exc_info()[1])
                self.push_message(userMessage)
-               logging.exception(userMessage)
+               _moduleLogger.exception(userMessage)
 
        def pop_message(self):
                del self.__messages[0]
@@ -463,7 +482,7 @@ class DummyErrorDisplay(object):
 
        def push_exception(self, exception = None):
                userMessage = str(sys.exc_value)
-               logging.exception(userMessage)
+               _moduleLogger.exception(userMessage)
 
        def pop_message(self):
                if 0 < len(self.__messages):
@@ -471,7 +490,7 @@ class DummyErrorDisplay(object):
                        del self.__messages[0]
 
        def __show_message(self, message):
-               logging.debug(message)
+               _moduleLogger.debug(message)
 
 
 class MessageBox(gtk.MessageDialog):
@@ -545,7 +564,7 @@ class PopupCalendar(object):
                        self._calendar.select_month(self._displayDate.month, self._displayDate.year)
                        self._calendar.select_day(self._displayDate.day)
                except Exception, e:
-                       logging.exception(e)
+                       _moduleLogger.exception(e)
 
 
 class QuickAddView(object):