From f5eb61dce982d6c51a78f5bb745ebd632ef1ad70 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 18 Jul 2007 21:26:10 +0100 Subject: [PATCH] Try to avoid importing things from _dbus_bindings when they could be imported from public API --- dbus/_dbus.py | 6 ++---- dbus/bus.py | 2 +- dbus/connection.py | 8 ++++---- dbus/decorators.py | 16 ++++++++-------- dbus/glib.py | 2 -- dbus/service.py | 28 ++++++++++++++-------------- 6 files changed, 29 insertions(+), 33 deletions(-) diff --git a/dbus/_dbus.py b/dbus/_dbus.py index 8e8bb03..bfb62f7 100644 --- a/dbus/_dbus.py +++ b/dbus/_dbus.py @@ -38,11 +38,9 @@ from _dbus_bindings import BUS_DAEMON_NAME, BUS_DAEMON_PATH,\ validate_bus_name, validate_object_path,\ BUS_SESSION, BUS_SYSTEM, BUS_STARTER,\ DBUS_START_REPLY_SUCCESS, \ - DBUS_START_REPLY_ALREADY_RUNNING, \ - SignalMessage,\ - HANDLER_RESULT_NOT_YET_HANDLED,\ - HANDLER_RESULT_HANDLED + DBUS_START_REPLY_ALREADY_RUNNING from dbus.bus import BusConnection +from dbus.lowlevel import SignalMessage try: import thread diff --git a/dbus/bus.py b/dbus/bus.py index 72d3958..553a4a9 100644 --- a/dbus/bus.py +++ b/dbus/bus.py @@ -29,7 +29,6 @@ from _dbus_bindings import validate_interface_name, validate_member_name,\ DBUS_START_REPLY_SUCCESS, \ DBUS_START_REPLY_ALREADY_RUNNING, \ BUS_DAEMON_NAME, BUS_DAEMON_PATH, BUS_DAEMON_IFACE,\ - HANDLER_RESULT_NOT_YET_HANDLED, \ NAME_FLAG_ALLOW_REPLACEMENT, \ NAME_FLAG_DO_NOT_QUEUE, \ NAME_FLAG_REPLACE_EXISTING, \ @@ -42,6 +41,7 @@ from _dbus_bindings import validate_interface_name, validate_member_name,\ REQUEST_NAME_REPLY_PRIMARY_OWNER from dbus.connection import Connection from dbus.exceptions import DBusException +from dbus.lowlevel import HANDLER_RESULT_NOT_YET_HANDLED _NAME_OWNER_CHANGE_MATCH = ("type='signal',sender='%s'," diff --git a/dbus/connection.py b/dbus/connection.py index 6931d9b..8c06f2b 100644 --- a/dbus/connection.py +++ b/dbus/connection.py @@ -26,15 +26,15 @@ except ImportError: import dummy_thread as thread import weakref -from _dbus_bindings import Connection as _Connection, ErrorMessage, \ - MethodCallMessage, MethodReturnMessage, \ +from _dbus_bindings import Connection as _Connection, \ LOCAL_PATH, LOCAL_IFACE, \ validate_interface_name, validate_member_name,\ validate_bus_name, validate_object_path,\ validate_error_name, \ - HANDLER_RESULT_NOT_YET_HANDLED, \ - UTF8String, SignalMessage + UTF8String from dbus.exceptions import DBusException +from dbus.lowlevel import ErrorMessage, MethodCallMessage, SignalMessage, \ + MethodReturnMessage, HANDLER_RESULT_NOT_YET_HANDLED from dbus.proxies import ProxyObject diff --git a/dbus/decorators.py b/dbus/decorators.py index 37b62ef..908d055 100644 --- a/dbus/decorators.py +++ b/dbus/decorators.py @@ -26,8 +26,8 @@ __docformat__ = 'restructuredtext' import inspect -import _dbus_bindings - +from dbus import validate_interface_name, Signature, validate_member_name +from dbus.lowlevel import SignalMessage from dbus.exceptions import DBusException @@ -134,7 +134,7 @@ def method(dbus_interface, in_signature=None, out_signature=None, :Since: 0.80.0 """ - _dbus_bindings.validate_interface_name(dbus_interface) + validate_interface_name(dbus_interface) def decorator(func): args = inspect.getargspec(func)[0] @@ -160,7 +160,7 @@ def method(dbus_interface, in_signature=None, out_signature=None, args.remove(connection_keyword) if in_signature: - in_sig = tuple(_dbus_bindings.Signature(in_signature)) + in_sig = tuple(Signature(in_signature)) if len(in_sig) > len(args): raise ValueError, 'input signature is longer than the number of arguments taken' @@ -236,7 +236,7 @@ def signal(dbus_interface, signature=None, path_keyword=None, :Since: 0.82.0 """ - _dbus_bindings.validate_interface_name(dbus_interface) + validate_interface_name(dbus_interface) if path_keyword is not None: from warnings import warn @@ -251,7 +251,7 @@ def signal(dbus_interface, signature=None, path_keyword=None, def decorator(func): member_name = func.__name__ - _dbus_bindings.validate_member_name(member_name) + validate_member_name(member_name) def emit_signal(self, *args, **keywords): abs_path = None @@ -283,7 +283,7 @@ def signal(dbus_interface, signature=None, path_keyword=None, else: object_path = abs_path - message = _dbus_bindings.SignalMessage(object_path, + message = SignalMessage(object_path, dbus_interface, member_name) message.append(signature=signature, *args) @@ -302,7 +302,7 @@ def signal(dbus_interface, signature=None, path_keyword=None, raise ValueError('function has no argument "%s"' % keyword) if signature: - sig = tuple(_dbus_bindings.Signature(signature)) + sig = tuple(Signature(signature)) if len(sig) > len(args): raise ValueError, 'signal signature is longer than the number of arguments provided' diff --git a/dbus/glib.py b/dbus/glib.py index 548f121..6570fda 100644 --- a/dbus/glib.py +++ b/dbus/glib.py @@ -31,8 +31,6 @@ equivalent code:: __docformat__ = 'restructuredtext' from dbus.mainloop.glib import DBusGMainLoop, threads_init -import _dbus_glib_bindings -import _dbus_bindings init_threads = threads_init diff --git a/dbus/service.py b/dbus/service.py index 5e7d4c9..21f0da8 100644 --- a/dbus/service.py +++ b/dbus/service.py @@ -32,12 +32,13 @@ except ImportError: import dummy_thread as thread import _dbus_bindings -from dbus import SessionBus +from dbus import SessionBus, Signature, Struct, validate_bus_name, \ + validate_object_path +from dbus.decorators import method, signal from dbus.exceptions import DBusException, \ NameExistsException, \ UnknownMethodException -from dbus.decorators import method -from dbus.decorators import signal +from dbus.lowlevel import ErrorMessage, MethodReturnMessage from dbus.proxies import LOCAL_PATH @@ -100,8 +101,7 @@ class BusName(object): services waiting for the requested name if another service already holds it. """ - _dbus_bindings.validate_bus_name(name, allow_well_known=True, - allow_unique=False) + validate_bus_name(name, allow_well_known=True, allow_unique=False) # if necessary, get default bus (deprecated) if bus is None: @@ -243,7 +243,7 @@ def _method_lookup(self, method_name, dbus_interface): def _method_reply_return(connection, message, method_name, signature, *retval): - reply = _dbus_bindings.MethodReturnMessage(message) + reply = MethodReturnMessage(message) try: reply.append(signature=signature, *retval) except Exception, e: @@ -273,7 +273,7 @@ def _method_reply_error(connection, message, exception): name = 'org.freedesktop.DBus.Python.%s.%s' % (exception.__module__, exception.__class__.__name__) contents = traceback.format_exc() - reply = _dbus_bindings.ErrorMessage(message, name, contents) + reply = ErrorMessage(message, name, contents) connection.send_message(reply) @@ -312,15 +312,15 @@ class InterfaceType(type): # convert signature into a tuple so length refers to number of # types, not number of characters. the length is checked by # the decorator to make sure it matches the length of args. - in_sig = tuple(_dbus_bindings.Signature(func._dbus_in_signature)) + in_sig = tuple(Signature(func._dbus_in_signature)) else: # magic iterator which returns as many v's as we need in_sig = _VariantSignature() if func._dbus_out_signature: - out_sig = _dbus_bindings.Signature(func._dbus_out_signature) + out_sig = Signature(func._dbus_out_signature) else: - # its tempting to default to _dbus_bindings.Signature('v'), but + # its tempting to default to Signature('v'), but # for methods that return nothing, providing incorrect # introspection data is worse than providing none at all out_sig = [] @@ -340,7 +340,7 @@ class InterfaceType(type): if func._dbus_signature: # convert signature into a tuple so length refers to number of # types, not number of characters - sig = tuple(_dbus_bindings.Signature(func._dbus_signature)) + sig = tuple(Signature(func._dbus_signature)) else: # magic iterator which returns as many v's as we need sig = _VariantSignature() @@ -431,7 +431,7 @@ class Object(Interface): Object's lifetime (unless it's released manually). """ if object_path is not None: - _dbus_bindings.validate_object_path(object_path) + validate_object_path(object_path) if isinstance(conn, BusName): # someone's using the old API; don't gratuitously break them @@ -638,7 +638,7 @@ class Object(Interface): keywords = {} if parent_method._dbus_out_signature is not None: - signature = _dbus_bindings.Signature(parent_method._dbus_out_signature) + signature = Signature(parent_method._dbus_out_signature) else: signature = None @@ -696,7 +696,7 @@ class Object(Interface): if retval is None: retval = () elif (isinstance(retval, tuple) - and not isinstance(retval, _dbus_bindings.Struct)): + and not isinstance(retval, Struct)): # If the return is a tuple that is not a Struct, we use it # as-is on the assumption that there are multiple return # values - this is the usual Python idiom. (fd.o #10174) -- 2.11.4.GIT