transforms values into properly wrapped dbus-python objects
Project description
Function
This library contains a function, make_class, that consumes an XML specification of a D-Bus interface.
>>> Klass = make_class("Klass", spec)
This call yields a Python class, called Klass, with two static class members, “Methods” and “Properties”. The “Methods” class has a static method corresponding to each method defined in the interface. Each method takes a proxy object as its first argument followed by any number of keyword arguments, corresponding to the arguments of the method. The “Properties” class has a static class corresponding to every property defined in the interface. Each property class may have a static Get() or Set() method, depending on its attributes.
For example, assuming the interface defines a read only Version property, the following call should return a value.
>>> Klass.Properties.Version.Get()
However, since Version is a read only property, the following call should fail with an AttributeError.
>>> Klass.Properties.Version.Set("42")
Similarly, if the interface defines a method, Create, with one argument, name, a STRING, the following call should succeed.
>>> Klass.Methods.Create(proxy, name="name")
The Create method invokes the method on the proxy object, passing force, transformed into a dbus-python String type.
On the other hand, the invocation will raise a DPClientError exception if the method is called with an argument with an incorrect type as,
>>> Klass.Methods.Create(proxy, name=false)
or with an incorrect keyword as,
>>> Klass.Methods.Create(proxy, force=false)
or without all the necessary keywords as,
>>> Klass.Methods.Create(proxy)
Errors
This library exports one exception type, DPClientError. It constitutes a bug if an error of any other type is propagated during class generation or when the methods of the class are executed.
Dependencies
dbus-python
into-dbus-python
Requirements
This library is not compatible with Python 2.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for dbus-python-client-gen-0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | df86f36b6db1fbeb1f1ade920ca2e11b685b58cfd475426d8545c267294b1fa4 |
|
MD5 | 9c73c35b98cb1db8d9af49f036252aae |
|
BLAKE2b-256 | f543420ea0b1b0d279e392697d5195fd13d01a5db8ff0da64499b15938b9bf99 |