Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return self._make_dataset(e, n, name, mode)
except ImportError:
pass
try:
import networkx
if isinstance(graph, networkx.classes.graph.Graph) or \
isinstance(graph, networkx.classes.digraph.DiGraph) or \
isinstance(graph, networkx.classes.multigraph.MultiGraph) or \
isinstance(graph, networkx.classes.multidigraph.MultiDiGraph):
(e, n) = self.networkx2pandas(graph)
return self._make_dataset(e, n, name, mode)
except ImportError:
pass
util.error('Expected Pandas dataframe(s) or Igraph/NetworkX graph.')
def _check_dataset_size(self, elist, nlist):
edge_count = len(elist.index)
node_count = len(nlist.index)
graph_size = edge_count + node_count
if edge_count > 8e6:
util.error('Maximum number of edges (8M) exceeded: %d.' % edge_count)
if node_count > 8e6:
util.error('Maximum number of nodes (8M) exceeded: %d.' % node_count)
if graph_size > 1e6:
util.warn('Large graph: |nodes| + |edges| = %d. Layout/rendering might be slow.' % graph_size)
def bind(enc, df, pbname, attrib, default=None):
bound = getattr(self, attrib)
if bound:
if bound in df.columns.tolist():
enc[pbname] = {'attributes' : [bound]}
else:
util.warn('Attribute "%s" bound to %s does not exist.' % (bound, attrib))
elif default:
enc[pbname] = {'attributes': [default]}
def __repr__(self):
bindings = ['edges', 'nodes', 'source', 'destination', 'node', 'edge_title',
'edge_label', 'edge_color', 'edge_weight', 'point_title',
'point_label', 'point_color', 'point_size']
settings = ['height', 'url_params']
rep = {'bindings': dict([(f, getattr(self, '_' + f)) for f in bindings]),
'settings': dict([(f, getattr(self, '_' + f)) for f in settings])}
if util.in_ipython():
from IPython.lib.pretty import pretty
return pretty(rep)
else:
return str(rep)