diff --git a/redisgraph/edge.py b/redisgraph/edge.py index 34c4b67..3dbcf69 100644 --- a/redisgraph/edge.py +++ b/redisgraph/edge.py @@ -10,11 +10,14 @@ def __init__(self, src_node, relation, dest_node, edge_id=None, properties=None) """ Create a new edge. """ - assert src_node is not None and dest_node is not None + if not (src_node and dest_node): + # NOTE(bors-42): It makes sense to change AssertionError to + # ValueError here + raise AssertionError("Both src_node & dest_node must be provided") self.id = edge_id - self.relation = '' or relation - self.properties = {} or properties + self.relation = relation or '' + self.properties = properties or {} self.src_node = src_node self.dest_node = dest_node diff --git a/redisgraph/graph.py b/redisgraph/graph.py index bd05a07..7f15c39 100644 --- a/redisgraph/graph.py +++ b/redisgraph/graph.py @@ -93,11 +93,12 @@ def add_node(self, node): def add_edge(self, edge): """ - Addes an edge to the graph. + Adds an edge to the graph. """ + if not (self.nodes[edge.src_node.alias] + and self.nodes[edge.dest_node.alias]): + raise AssertionError("Both edge's end must be in the graph") - # Make sure edge both ends are in the graph - assert self.nodes[edge.src_node.alias] is not None and self.nodes[edge.dest_node.alias] is not None self.edges.append(edge) def commit(self): @@ -128,12 +129,13 @@ def flush(self): self.edges = [] def build_params_header(self, params): - assert type(params) == dict + if not isinstance(params, dict): + raise TypeError("'params' must be a dict") # Header starts with "CYPHER" params_header = "CYPHER " for key, value in params.items(): # If value is string add quotation marks. - if type(value) == str: + if isinstance(value, str): value = quote_string(value) # Value is None, replace with "null" string. elif value is None: @@ -189,7 +191,6 @@ def execution_plan(self, query, params=None): Get the execution plan for given query, GRAPH.EXPLAIN returns an array of operations. """ - if params is not None: query = self.build_params_header(params) + query