跳转到主要内容

为D-Bus客户端生成有用的类和方法

项目描述

简介

此库包含一些方法,它们消费D-Bus接口的XML规范,并返回类或函数,这些类或函数可能在构建Python D-Bus客户端时有用。XML规范具有Introspectable接口Introspect()方法返回的数据的格式。

方法

managed_object_class

此函数消费单个接口的规范,并返回一个类,该类构建对象,这些对象包装特定对象在ObjectManager接口GetManagedObjects()方法返回的表格,每个对象都有一个对应于接口每个属性实例方法的实例方法。

mo_query_builder

此函数消耗单个接口的规范,并返回一个函数,该函数实现了对GetManagedObjects()调用返回的整个对象的查询。查询函数接受两个参数:GetManagedObjects()对象和一个键/值对字典。查询函数生成对象路径和对应表的一对,以匹配表中所有的键/值对。

错误

此库导出异常类型DbusClientError及其所有子类型。如果在类生成期间或类的方法执行时传播了其他类型的错误,则构成一个错误。

以下显示了错误层次结构。破折号后面的条目表示异常包含的除消息之外的其他字段。错误类层次结构的叶子节点是直接构造的。

DbusClientError

  • DbusClientGenerationError 此异常会在生成方法时发生错误时引发。此类异常可能是由缺少必要属性或条目的自省数据引起的。

  • DbusClientRuntimeError - 接口名称 如果在生成的方法执行期间发生错误,将引发此异常。

    • DbusClientMissingInterfaceError 当在构造托管对象时,其参数没有期望接口的条目时,将引发此异常。

    • DbusClientMissingPropertyError - 属性名称 当读取托管对象的值时,如果发现对应于该属性的值不可用,将引发此异常。

    • DbusClientMissingSearchPropertiesError - 列出字段太多 此异常会在遍历GetManagedObjects()结果时引发,如果查询使用的键在结果中没有相应的值。

    • DbusClientUnknownSearchPropertiesError – 列出字段太多 如果指定的搜索属性在指定的接口中找不到,将引发此异常。

打包

下游打包者,如果将测试纳入其打包中,建议仅使用test_deterministic.py模块中的测试,以避免由于Hypothesis测试的非确定性行为而产生的测试失败。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

dbus-client-gen-0.5.1.tar.gz (14.1 kB 查看哈希值)

上传时间

构建分布

dbus_client_gen-0.5.1-py3-none-any.whl (13.7 kB 查看哈希值)

上传时间 Python 3