raise exceptions and there spit translated text. this allows ppl that use gajim-remote to now catch those exceptions instead of impossibly guessing which locale user has and how that is translated

This commit is contained in:
Nikos Kouremenos 2005-11-30 14:42:23 +00:00
parent f839968c6c
commit 76d97e25ed
1 changed files with 19 additions and 3 deletions

View File

@ -43,10 +43,26 @@ def send_error(error_message):
sys.stderr.flush() sys.stderr.flush()
sys.exit(1) sys.exit(1)
class ServiceNotAvailable(Exception):
''' This exception indicates that there is no session daemon '''
def __init__(self):
Exception.__init__(self)
def __str__(self):
return _('Service not available: Gajim is not running, or remote_control is False')
class DbusModuleMissing(Exception):
''' This exception indicates that there is no session daemon '''
def __init__(self):
Exception.__init__(self)
def __str__(self):
return _('D-Bus python module is missing')
try: try:
import dbus import dbus
except: except:
send_error(_('Dbus is not supported.')) raise DbusModuleMissing
_version = getattr(dbus, 'version', (0, 20, 0)) _version = getattr(dbus, 'version', (0, 20, 0))
if _version[1] >= 41: if _version[1] >= 41:
@ -540,9 +556,9 @@ Type "%s help %s" for more info') % (args[argv_len][0], BASENAME, self.command))
sys.argv[5]) sys.argv[5])
return res return res
except Exception, e: except Exception, e:
send_error(_('Service not available') + ': ' + str(e)) raise ServiceNotAvailable
send_error( + ': ' + str(e))
return None return None
if __name__ == '__main__': if __name__ == '__main__':
GajimRemote() GajimRemote()