merge_malformed_left
@merge.register
def merge_malformed_left(metadata: MalformedMetadata,
other_metadata: Any) -> MetadataMerge anything into a malformed metadata object
This handles cases where one might attempt to fix a malformed metadata object by merging a valid metadata object.
Arguments:
metadata- The malformed metadata to merge intoother_metadata- The metadata to merge from
Returns:
A now valid piece of metadata
merge_malformed_right
@merge.register
def merge_malformed_right(metadata: Any, other_metadata: MalformedMetadata)Merge a malformed metadata object into anything
Arguments:
metadata- The metadata to merge intoother_metadata- The malformed metadata to merge from
Raises:
ValueError- This is always an invalid operation
merge_tags
def merge_tags(a: Optional[list], b: Optional[list]) -> listMerge two lists of tags insuring no duplicates
merge_grai_node_v1_metadata
@merge.register
def merge_grai_node_v1_metadata(
metadata: BaseNodeMetadataV1,
other_metadata: BaseNodeMetadataV1) -> BaseNodeMetadataV1Merge two grai node metadata objects
Arguments:
metadata- The node metadata to merge intoother_metadata- The node metadata to merge from
Returns:
The merged node metadata
merge_grai_edge_v1_metadata
@merge.register
def merge_grai_edge_v1_metadata(
metadata: BaseEdgeMetadataV1,
other_metadata: BaseEdgeMetadataV1) -> BaseEdgeMetadataV1Merge two grai edge metadata objects
Arguments:
metadata- The edge metadata to merge intoother_metadata- The edge metadata to merge from
Returns:
The merged edge metadata
merge_node_sourced_node
@merge.register
def merge_node_sourced_node(node: NodeV1,
source_node: SourcedNodeV1) -> NodeV1Merge a sourced node into a node
Arguments:
node- The node to merge intosource_node- The sourced node to merge from
Returns:
The merged NodeV1
merge_edge_sourced_edge
@merge.register
def merge_edge_sourced_edge(edge: EdgeV1,
source_edge: SourcedEdgeV1) -> EdgeV1Merge a sourced edge into an edge
Arguments:
edge- The edge to merge intosource_edge- The sourced edge to merge from
Returns:
The merged EdgeV1
merge_grai_node_into_node_metadata
@merge.register
def merge_grai_node_into_node_metadata(
spec: NodeSpec, source_spec: SourcedNodeSpec) -> NodeSpecMerge a SourcedNodeSpec into a NodeSpec
Arguments:
spec- The node spec to merge intosource_spec- The sourced node spec to merge from
Returns:
The merged node spec
merge_grai_edge_into_edge_metadata
@merge.register
def merge_grai_edge_into_edge_metadata(
spec: EdgeSpec, source_spec: SourcedEdgeSpec) -> EdgeSpecMerge grai metadata from a sourced edge into an edge spec
Arguments:
spec- The edge spec to merge intosource_spec- The sourced edge spec to merge from
Returns:
The merged edge spec