diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2008-06-23 22:33:20 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2008-06-23 22:33:20 +0200 |
commit | 88d60d9f5082d6dd62778614681638415f25a8d6 (patch) | |
tree | 12c4863eed252b23d4ce4675b1a7c33abd2f158b /portato/gui/utils.py | |
parent | 84ce6de169ab527d8393bfe9da63944c550ee16a (diff) | |
parent | 0392a7dcbaa08cbc73e091422bf6f68dbfa8d7f6 (diff) | |
download | portato-88d60d9f5082d6dd62778614681638415f25a8d6.tar.gz portato-88d60d9f5082d6dd62778614681638415f25a8d6.tar.bz2 portato-88d60d9f5082d6dd62778614681638415f25a8d6.zip |
Added the possibility to directly mail bugs
Diffstat (limited to 'portato/gui/utils.py')
-rw-r--r-- | portato/gui/utils.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/portato/gui/utils.py b/portato/gui/utils.py index 0a2930b..6e04814 100644 --- a/portato/gui/utils.py +++ b/portato/gui/utils.py @@ -14,19 +14,38 @@ from __future__ import absolute_import, with_statement # some stuff needed import re +import sys import logging +import gettext from collections import defaultdict -from threading import RLock +from threading import Thread, RLock from functools import wraps # some backend things from ..backend import flags, system, set_system from ..helper import debug, info, set_log_level -from ..constants import USE_CATAPULT +from ..constants import USE_CATAPULT, APP, LOCALE_DIR # parser from ..config_parser import ConfigParser +class GtkThread (Thread): + def run(self): + # for some reason, I have to install this for each thread ... + gettext.install(APP, LOCALE_DIR, unicode = True) + try: + Thread.run(self) + except SystemExit: + raise # let normal thread handle it + except: + type, val, tb = sys.exc_info() + try: + sys.excepthook(type, val, tb, thread = self.getName()) + except TypeError: + raise type, val, tb # let normal thread handle it + finally: + del type, val, tb + class Config (ConfigParser): def __init__ (self, cfgFile): |