From 65cd2233f33e2deb4e71efd09d763311b1c0bb7b Mon Sep 17 00:00:00 2001 From: mdipierro Date: Mon, 21 Jan 2013 08:39:44 -0600 Subject: [PATCH] fixed tkMessageBox problem, thanks Bruno --- VERSION | 2 +- gluon/messageboxhandler.py | 27 +++++++++++++++++++++++---- logging.example.conf | 7 +++++++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/VERSION b/VERSION index 1ba9a328..f2e62856 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.4.1-alpha.2+timestamp.2013.01.21.08.35.19 +Version 2.4.1-alpha.2+timestamp.2013.01.21.08.39.03 diff --git a/gluon/messageboxhandler.py b/gluon/messageboxhandler.py index 3b5a916c..50aa68cd 100644 --- a/gluon/messageboxhandler.py +++ b/gluon/messageboxhandler.py @@ -1,9 +1,10 @@ import logging +import os try: - import tkMessageBox + import Tkinter except: - tkMessageBox = None + Tkinter = None class MessageBoxHandler(logging.Handler): @@ -11,6 +12,24 @@ class MessageBoxHandler(logging.Handler): logging.Handler.__init__(self) def emit(self, record): - if tkMessageBox: + if Tkinter: msg = self.format(record) - tkMessageBox.showinfo('info1', msg) + root = Tkinter.Tk() + root.wm_title("web2py logger message") + text = Tkinter.Text() + text["height"] = 12 + text.insert(0.1, msg) + text.pack() + button = Tkinter.Button(root, text="OK", command=root.destroy) + button.pack() + root.mainloop() + + +class NotifySendHandler(logging.Handler): + def __init__(self): + logging.Handler.__init__(self) + + def emit(self, record): + if Tkinter: + msg = self.format(record) + os.system("notify-send '%s'" % msg) diff --git a/logging.example.conf b/logging.example.conf index f8411e39..b4db7fb2 100644 --- a/logging.example.conf +++ b/logging.example.conf @@ -37,6 +37,7 @@ keys=root,rocket,markdown,web2py,rewrite,cron,app,welcome keys=consoleHandler,messageBoxHandler,rotatingFileHandler #keys=consoleHandler,rotatingFileHandler #keys=osxSysLogHandler +#keys=notifySendHandler [formatters] keys=simpleFormatter @@ -105,6 +106,12 @@ level=ERROR formatter=simpleFormatter args=() +[handler_notifySendHandler] +class=gluon.messageboxhandler.NotifySendHandler +level=ERROR +formatter=simpleFormatter +args=() + # Rotating file handler # mkdir logs in the web2py base directory if not already present # args: (filename[, mode[, maxBytes[, backupCount[, encoding[, delay]]]]])