From 700f1ea0b3d21196cafe20b493f5399c28d8cba3 Mon Sep 17 00:00:00 2001 From: Konstantin Stepanov Date: Wed, 22 Dec 2010 17:49:54 +0200 Subject: [PATCH] pass error messages into environment, None's are empty strings --- dbuscron/bus.py | 4 +++- dbuscron/command.py | 18 ++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dbuscron/bus.py b/dbuscron/bus.py index ccf54da..0514618 100644 --- a/dbuscron/bus.py +++ b/dbuscron/bus.py @@ -8,7 +8,9 @@ log = Logger(__name__) def dbus_to_str(value): try: - if isinstance(value, dbus.Byte): + if value is None: + return '' + elif isinstance(value, dbus.Byte): result = str(int(value)) elif isinstance(value, dbus.ByteArray): result = ','.join(str(ord(v)) for v in value) diff --git a/dbuscron/command.py b/dbuscron/command.py index 8ae1989..e25c5f6 100644 --- a/dbuscron/command.py +++ b/dbuscron/command.py @@ -29,14 +29,13 @@ class Command(object): dbus_env = dict( (('DBUS_ARG%d' % i, a) for i, a in enumerate(args_list)), DBUS_ARGN = str(len(args_list)), - DBUS_SENDER = str(message.get_sender()), - DBUS_DEST = str(message.get_destination()), - DBUS_IFACE = str(message.get_interface()), - DBUS_PATH = str(message.get_path()), - DBUS_MEMBER = str(message.get_member()), + DBUS_SENDER = str(message.get_sender() or ''), + DBUS_DEST = str(message.get_destination() or ''), + DBUS_IFACE = str(message.get_interface() or ''), + DBUS_PATH = str(message.get_path() or ''), + DBUS_MEMBER = str(message.get_member() or ''), DBUS_BUS = bus.__class__.__name__.lower()[0:-3], - # TODO - #DBUS_ERROR = str(message.get_error_name()), + DBUS_ERROR = str(message.get_error_name() or ''), DBUS_TYPE = get_dbus_message_type(message) ) env.update(dbus_env) @@ -49,9 +48,8 @@ class Command(object): args_list[0:0] = [ dbus_env['DBUS_IFACE'], dbus_env['DBUS_MEMBER']] - # TODO - #elif dbus_env['DBUS_TYPE'] == 'error': - # args_list.insert(0, dbus_env['DBUS_ERROR']) + elif dbus_env['DBUS_TYPE'] == 'error': + args_list.insert(0, dbus_env['DBUS_ERROR']) args_list[0:0] = [ self.__file, -- 1.7.9.5