in src/graph_notebook/network/gremlin/GremlinNetwork.py [0:0]
def add_path_edge(self, edge, from_id='', to_id='', data=None):
if data is None:
data = {}
if type(edge) is Edge:
from_id = from_id if from_id != '' else edge.outV.id
to_id = to_id if to_id != '' else edge.inV.id
edge_label_full = ''
using_custom_tooltip = False
tooltip_display_is_set = True
edge_title = edge.label
if self.edge_tooltip_property and self.edge_tooltip_property != self.edge_display_property:
using_custom_tooltip = True
tooltip_display_is_set = False
data['properties'] = {'id': edge.id, 'label': edge.label, 'outV': str(edge.outV), 'inV': str(edge.inV)}
edge_label = edge_title if len(edge_title) <= self.edge_label_max_length \
else edge_title[:self.edge_label_max_length - 3] + '...'
if self.edge_display_property:
label_property_raw_value = self.get_explicit_edge_property_value(data, edge, self.edge_display_property)
if label_property_raw_value:
edge_label_full, edge_label = self.strip_and_truncate_label_and_title(label_property_raw_value,
self.edge_label_max_length)
if not using_custom_tooltip:
edge_title = edge_label_full
if using_custom_tooltip:
tooltip_property_raw_value = self.get_explicit_edge_property_value(data, edge,
self.edge_tooltip_property)
if tooltip_property_raw_value:
edge_title, label_plc = self.strip_and_truncate_label_and_title(tooltip_property_raw_value,
self.edge_label_max_length)
tooltip_display_is_set = True
if not tooltip_display_is_set and edge_label_full:
edge_title = edge_label_full
self.get_explicit_edge_property_value(data, edge, self.edge_tooltip_property)
data['title'] = edge_title
self.add_edge(from_id=from_id, to_id=to_id, edge_id=edge.id, label=edge_label, title=edge_title,
data=data)
elif type(edge) is dict:
properties = {}
edge_id = ''
edge_label = ''
edge_label_full = ''
edge_title = ''
display_is_set = False
tooltip_display_is_set = True
using_custom_tooltip = False
if self.edge_tooltip_property and self.edge_tooltip_property != self.edge_display_property:
using_custom_tooltip = True
tooltip_display_is_set = False
if T.label in edge.keys():
edge_title_plc = str(edge[T.label])
edge_title, edge_label = self.strip_and_truncate_label_and_title(edge_title_plc,
self.edge_label_max_length)
else:
edge_title_plc = ''
for k in edge:
if str(k) == T_ID:
edge_id = str(edge[k])
if type(edge[k]) is dict: # Handle Direction properties, where the value is a map
properties[k] = get_id(edge[k])
else:
properties[k] = edge[k]
if self.edge_display_property is not T_LABEL and not display_is_set:
label_property_raw_value = self.get_dict_element_property_value(edge, k, edge_title_plc,
self.edge_display_property)
if label_property_raw_value:
edge_label_full, edge_label = self.strip_and_truncate_label_and_title(
label_property_raw_value, self.edge_label_max_length)
if not using_custom_tooltip:
edge_title = edge_label_full
display_is_set = True
if not tooltip_display_is_set:
tooltip_property_raw_value = self.get_dict_element_property_value(edge, k, edge_title_plc,
self.edge_tooltip_property)
if tooltip_property_raw_value:
edge_title, label_plc = self.strip_and_truncate_label_and_title(tooltip_property_raw_value,
self.edge_label_max_length)
tooltip_display_is_set = True
if not tooltip_display_is_set and edge_label_full:
edge_title = edge_label_full
data['properties'] = properties
data['title'] = edge_title
self.add_edge(from_id=from_id, to_id=to_id, edge_id=edge_id, label=edge_label, title=edge_title, data=data)
else:
edge_title, edge_label = self.strip_and_truncate_label_and_title(edge, self.edge_label_max_length)
data['title'] = edge_title
self.add_edge(from_id=from_id, to_id=to_id, edge_id=edge, label=edge_label, title=edge_title, data=data)