summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/setoolsgui/networkx/readwrite/leda.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/setoolsgui/networkx/readwrite/leda.py')
-rw-r--r--lib/python2.7/site-packages/setoolsgui/networkx/readwrite/leda.py106
1 files changed, 0 insertions, 106 deletions
diff --git a/lib/python2.7/site-packages/setoolsgui/networkx/readwrite/leda.py b/lib/python2.7/site-packages/setoolsgui/networkx/readwrite/leda.py
deleted file mode 100644
index a4d17db..0000000
--- a/lib/python2.7/site-packages/setoolsgui/networkx/readwrite/leda.py
+++ /dev/null
@@ -1,106 +0,0 @@
-"""
-Read graphs in LEDA format.
-
-LEDA is a C++ class library for efficient data types and algorithms.
-
-Format
-------
-See http://www.algorithmic-solutions.info/leda_guide/graphs/leda_native_graph_fileformat.html
-
-"""
-# Original author: D. Eppstein, UC Irvine, August 12, 2003.
-# The original code at http://www.ics.uci.edu/~eppstein/PADS/ is public domain.
-__author__ = """Aric Hagberg (hagberg@lanl.gov)"""
-# Copyright (C) 2004-2010 by
-# Aric Hagberg <hagberg@lanl.gov>
-# Dan Schult <dschult@colgate.edu>
-# Pieter Swart <swart@lanl.gov>
-# All rights reserved.
-# BSD license.
-
-__all__ = ['read_leda', 'parse_leda']
-
-import networkx as nx
-from networkx.exception import NetworkXError
-from networkx.utils import open_file, is_string_like
-
-@open_file(0,mode='rb')
-def read_leda(path, encoding='UTF-8'):
- """Read graph in LEDA format from path.
-
- Parameters
- ----------
- path : file or string
- File or filename to read. Filenames ending in .gz or .bz2 will be
- uncompressed.
-
- Returns
- -------
- G : NetworkX graph
-
- Examples
- --------
- G=nx.read_leda('file.leda')
-
- References
- ----------
- .. [1] http://www.algorithmic-solutions.info/leda_guide/graphs/leda_native_graph_fileformat.html
- """
- lines=(line.decode(encoding) for line in path)
- G=parse_leda(lines)
- return G
-
-
-def parse_leda(lines):
- """Read graph in LEDA format from string or iterable.
-
- Parameters
- ----------
- lines : string or iterable
- Data in LEDA format.
-
- Returns
- -------
- G : NetworkX graph
-
- Examples
- --------
- G=nx.parse_leda(string)
-
- References
- ----------
- .. [1] http://www.algorithmic-solutions.info/leda_guide/graphs/leda_native_graph_fileformat.html
- """
- if is_string_like(lines): lines=iter(lines.split('\n'))
- lines = iter([line.rstrip('\n') for line in lines \
- if not (line.startswith('#') or line.startswith('\n') or line=='')])
- for i in range(3):
- next(lines)
- # Graph
- du = int(next(lines)) # -1=directed, -2=undirected
- if du==-1:
- G = nx.DiGraph()
- else:
- G = nx.Graph()
-
- # Nodes
- n =int(next(lines)) # number of nodes
- node={}
- for i in range(1,n+1): # LEDA counts from 1 to n
- symbol=next(lines).rstrip().strip('|{}| ')
- if symbol=="": symbol=str(i) # use int if no label - could be trouble
- node[i]=symbol
-
- G.add_nodes_from([s for i,s in node.items()])
-
- # Edges
- m = int(next(lines)) # number of edges
- for i in range(m):
- try:
- s,t,reversal,label=next(lines).split()
- except:
- raise NetworkXError('Too few fields in LEDA.GRAPH edge %d'%(i+1))
- # BEWARE: no handling of reversal edges
- G.add_edge(node[int(s)],node[int(t)],label=label[2:-2])
- return G
-