Interlinks
abses.human.links._LinkProxy ¶
用于管理节点上链接的代理类。
提供创建、检查和移除链接的便捷方法。
使用节点的唯一 ID 来优化链接操作。
Attributes:
| Name | Type | Description |
|---|---|---|
node |
_LinkNode
|
此代理管理链接的节点。 |
model |
MainModel
|
主模型实例。 |
human |
LinkContainerProtocol
|
链接容器实例。 |
Source code in abses/human/links.py
owning ¶
get ¶
获取链接的节点。
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
link_name
|
Optional[Union[str, List[str]]]
|
要获取的链接类型。如果为 None,则获取所有类型。 |
None
|
direction
|
Optional[str]
|
要获取的链接方向: - "out": 出向链接 - "in": 入向链接 - None: 两个方向 |
None
|
default
|
Any
|
如果未找到链接类型,则返回的值。 |
...
|
Returns:
| Type | Description |
|---|---|
ActorsList
|
链接节点的列表。 |
Source code in abses/human/links.py
has ¶
检查当前节点是否有特定类型的链接,或者是否与另一个节点有链接。
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
link_name
|
str
|
要检查的链接类型。 |
required |
node
|
Optional[LinkingNode]
|
要检查是否与当前节点有链接的节点。 如果为 None,则检查当前节点是否有任何链接。 |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
tuple |
Tuple[bool, bool]
|
两个布尔值的元组。 如果从我到其他存在链接,则第一个元素为 True。 如果从其他到我存在链接,则第二个元素为 True。 |
Source code in abses/human/links.py
to ¶
by ¶
unlink ¶
移除我和另一个节点之间的链接。
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
node
|
LinkingNode
|
要解除链接的节点。 |
required |
link_name
|
str
|
链接的名称。 |
required |
mutual
|
bool
|
是否互相删除链接。默认为 False。 |
False
|
Raises:
| Type | Description |
|---|---|
ABSESpyError
|
如果从源到目标的链接不存在。 |
Source code in abses/human/links.py
clean ¶
清理此节点的所有相关链接。
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
link_name
|
Optional[str]
|
链接的名称。 如果为 None,则清理节点的所有相关链接。 |
None
|
direction
|
Direction
|
链接的方向('in' 或 'out')。 如果为 None,则清理两个方向(出向链接和入向链接)。 |
None
|
Raises:
| Type | Description |
|---|---|
ValueError
|
如果方向不是 'in' 或 'out'。 |