节点服务客户端

class arkid_client.node.NodeClient(base_url, authorizer=None, **kwargs)[源代码]

基类:arkid_client.base.BaseClient

节点管理客户端,用于与 ArkID 服务端节点管理相关 接口的访问操作。

Methods

query_node(node_uid: str)[源代码]

查询指定节点的信息 (GET /siteapi/v1/node/<node_uid>/)

Parameters:

node_uid (str)
节点的唯一标识

Examples

>>> nc = arkid_client.NodeClient(...)
>>> node = nc.query_node(node_uid)
>>> print('node is', node)
view_node(node_uid: str)[源代码]

用户查询指定节点的信息 (GET /siteapi/v1/ucenter/node/<node_uid>/)

Parameters:

node_uid (str)
节点的唯一标识

Examples

>>> nc = arkid_client.NodeClient(...)
>>> node = nc.view_node(node_uid)
>>> print('node is', node)
update_node(node_uid: str, json_body: dict)[源代码]

修改指定节点的信息 (PATCH /siteapi/v1/node/<node_uid>/)

Parameters:

node_uid (str)
节点的唯一标识
json_body (dict)
节点的元信息, 参数详情请参考接口文档

Examples

>>> nc = arkid_client.NodeClient(...)
>>> node_data = {
>>>     'name': 'example'
>>> }
>>> node = nc.update_node(node_uid, node_data)
>>> print('node is', node)

External Documentation

关于 节点的元数据 详情请参阅API文档。

delete_node(node_uid: str, **params)[源代码]

删除指定节点的信息 (DELETE /siteapi/v1/node/<node_uid>/)

Parameters:

node_uid (str)
节点的唯一标识
ignore_user (bool)
用于删除节点,当``true``时,若节点下有人员存在时, 会先将人员从节点内删除,再删除此节点。

Examples self.logger.info(“正在调用 NodeClient.delete_node() 接口与 ArkID 服务端进行交互”) >>> nc = arkid_client.NodeClient(…) >>> nc.delete_node(node_uid, ignore_user=True)

get_node_tree_list(node_uid: str)[源代码]

需要管理员权限,获取节点及其子孙节点列表,将某节点下 的子树以列表形式返回,包括该节点自身,前序遍历。 (GET /siteapi/v1/node/<node_uid>/list/)

Parameters:

node_uid (str)
节点的唯一标识

Examples

>>> nc = arkid_client.NodeClient(...)
>>> tree_list = nc.get_node_tree_list(node_uid)
>>> print('tree_list is', tree_list)
get_node_tree(node_uid: str, **params)[源代码]

需要管理员权限,管理员访问到的数据将由管理范围决定, 数据包括从该节点起始的完整树。 (GET /siteapi/v1/node/<node_uid>/tree/)

Parameters:

node_uid (str)
节点的唯一标识
user_required (bool)
是否需要成员信息

Examples

>>> nc = arkid_client.NodeClient(...)
>>> tree = nc.get_node_tree(node_uid, user_required=True)
>>> print('tree is', tree)
view_node_tree(node_uid: str, **params)[源代码]

普通用户访问节点下结构,访问到的数据将由节点可见范围决定, 数据包括从该节点起始的完整树。 (GET /siteapi/v1/ucenter/node/<node_uid>/tree/)

Parameters:

node_uid (str)
节点的唯一标识
user_required (bool)
是否需要成员信息

Examples

>>> nc = arkid_client.NodeClient(...)
>>> tree = nc.view_node_tree(node_uid, user_required=True)
>>> print('tree is', tree)
get_subnode(node_uid: str)[源代码]

获取指定节点的子节点信息 (GET /siteapi/v1/node/<node_uid>/node/)

Parameters:

node_uid (str)
节点的唯一标识

Examples

>>> nc = arkid_client.NodeClient(...)
>>> subnode = nc.get_subnode(node_uid)
>>> print('subnode is', subnode)
create_subnode(node_uid: str, json_body: dict)[源代码]

创建指定节点的子节点 (POST /siteapi/v1/node/<node_uid>/node/)

Parameters:

node_uid (str)
节点的唯一标识
json_body (dict)
节点的元信息, 参数详情请参考接口文档

Examples

>>> nc = arkid_client.NodeClient(...)
>>> node_data = {
>>>     'name': 'example'
>>> }
>>> subnode = nc.create_subnode(node_uid, node_data)
>>> print('subnode is', subnode)

External Documentation

关于 节点的元数据 详情请参阅API文档。

add_subnode(node_uid: str, node_uids: list)[源代码]

向指定节点添加子节点 (PATCH /siteapi/v1/node/<node_uid>/node/)

Parameters:

node_uid (str)
节点的唯一标识
node_uids (list)
节点唯一标识组成的列表

Examples

>>> nc = arkid_client.NodeClient(...)
>>> node_uids = [
>>>     'node1',
>>>     'node2',
>>>         ...
>>>     'noden'
>>> ]
>>> node = nc.add_subnode(node_uid, node_uids)
>>> print('node is', node)
sort_subnode(node_uid: str, node_uids: list)[源代码]

对指定子节点按指定位置进行排序 (PATCH /siteapi/v1/node/<node_uid>/node/)

Parameters:

node_uid (str)
节点的唯一标识
node_uids (list)
节点唯一标识组成的列表

Examples

>>> nc = arkid_client.NodeClient(...)
>>> node_uids = [
>>>     'node1',
>>>     'node2',
>>>         ...
>>>     'noden'
>>> ]
>>> node = nc.sort_subnode(node_uid, node_uids)
>>> print('node is', node)
query_user_under_node(node_uid: str, **params)[源代码]

查询指定节点下的直属人员的信息 (GET /siteapi/v1/node/<node_uid>/user/)

Parameters:

node_uid (str)
节点的唯一标识
**params (dict)
用户的元信息,参数详情请参考接口文档

Examples

>>> nc = arkid_client.NodeClient(...)
>>> users = nc.query_user_under_node(node_uid)
>>> for user in users:
>>>     print('user is', user)

External Documentation

关于 节点的元数据 详情请参阅API文档。

add_user_under_node(node_uid: str, user_uids: list)[源代码]

向指定节点添加指定成员 (PATCH /siteapi/v1/node/<node_uid>/user/)

Parameters:

node_uid (str)
节点的唯一标识
user_uids (list)
用户唯一标识组成的列表

Examples

>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>>     'user1',
>>>     'user2',
>>>         ...
>>>     'usern'
>>> ]
>>> node = nc.add_user_under_node(node_uid, user_uids)
>>> print('node is', node)
delete_user_under_node(node_uid: str, user_uids: list)[源代码]

从指定节点移除指定成员 (PATCH /siteapi/v1/node/<node_uid>/user/)

Parameters:

node_uid (str)
节点的唯一标识
user_uids (list)
用户唯一标识组成的列表

Examples

>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>>     'user1',
>>>     'user2',
>>>         ...
>>>     'usern'
>>> ]
>>> node = nc.delete_user_under_node(node_uid, user_uids)
>>> print('node is', node)
override_user_under_node(node_uid: str, user_uids: list)[源代码]

重置指定节点的指定用户 (PATCH /siteapi/v1/node/<node_uid>/user/)

Parameters:

node_uid (str)
节点的唯一标识
user_uids (list)
用户唯一标识组成的列表

Examples

>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>>     'user1',
>>>     'user2',
>>>         ...
>>>     'usern'
>>> ]
>>> node = nc.override_user_under_node(node_uid, user_uids)
>>> print('node is', node)
sort_user_under_node(node_uid: str, user_uids: list)[源代码]

对指定人按指定位置进行排序 (PATCH /siteapi/v1/node/<node_uid>/user/)

Parameters:

node_uid (str)
节点的唯一标识
user_uids (list)
用户唯一标识组成的列表

Examples

>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>>     'user1',
>>>     'user2',
>>>         ...
>>>     'usern'
>>> ]
>>> node = nc.sort_user_under_node(node_uid, user_uids)
>>> print('node is', node)
move_out_user_under_node(node_uid: str, user_uids: list)[源代码]

将这些人从该节点移除,并加到指定节点 (PATCH /siteapi/v1/node/<node_uid>/user/)

Parameters:

node_uid (str)
节点的唯一标识
user_uids (list)
用户唯一标识组成的列表

Examples

>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>>     'user1',
>>>     'user2',
>>>         ...
>>>     'usern'
>>> ]
>>> node = nc.move_out_user_under_node(node_uid, user_uids)
>>> print('node is', node)