# HG changeset patch # User bernhardlutz # Date 1393598812 18000 # Node ID 29cc4ec84a56d37e4be160e521034bee8bc97e92 # Parent fe01a054a6b25deefdbad1bdf0d5bdb52dfb2112 Deleted selected files diff -r fe01a054a6b2 -r 29cc4ec84a56 3_molecules.gspan --- a/3_molecules.gspan Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +0,0 @@ -t # id 1 -v 0 O -v 1 O -v 2 O -v 3 O -v 4 C -v 5 C -v 6 C -v 7 C -v 8 C -v 9 C -v 10 C -v 11 C -v 12 C -v 13 H -v 14 H -v 15 H -v 16 H -v 17 H -v 18 H -v 19 H -v 20 H -e 0 4 1 -e 0 11 1 -e 1 10 1 -e 1 20 1 -e 2 10 2 -e 3 11 2 -e 4 5 1 -e 4 6 2 -e 5 7 2 -e 5 10 1 -e 6 8 1 -e 6 13 1 -e 7 9 1 -e 7 14 1 -e 8 9 2 -e 8 15 1 -e 9 16 1 -e 11 12 1 -e 12 17 1 -e 12 18 1 -e 12 19 1 -t # id 2 -v 0 O -v 1 O -v 2 O -v 3 O -v 4 C -v 5 C -v 6 C -v 7 C -v 8 C -v 9 C -v 10 C -v 11 C -v 12 C -v 13 H -v 14 H -v 15 H -v 16 H -v 17 H -v 18 H -v 19 H -v 20 H -e 0 4 1 -e 0 11 1 -e 1 10 1 -e 1 20 1 -e 2 10 2 -e 3 11 2 -e 4 5 1 -e 4 6 2 -e 5 7 2 -e 5 10 1 -e 6 8 1 -e 6 13 1 -e 7 9 1 -e 7 14 1 -e 8 9 2 -e 8 15 1 -e 9 16 1 -e 11 12 1 -e 12 17 1 -e 12 18 1 -e 12 19 1 -t # id 3 -v 0 O -v 1 O -v 2 O -v 3 O -v 4 C -v 5 C -v 6 C -v 7 C -v 8 C -v 9 C -v 10 C -v 11 C -v 12 C -v 13 H -v 14 H -v 15 H -v 16 H -v 17 H -v 18 H -v 19 H -v 20 H -e 0 4 1 -e 0 11 1 -e 1 10 1 -e 1 20 1 -e 2 10 2 -e 3 11 2 -e 4 5 1 -e 4 6 2 -e 5 7 2 -e 5 10 1 -e 6 8 1 -e 6 13 1 -e 7 9 1 -e 7 14 1 -e 8 9 2 -e 8 15 1 -e 9 16 1 -e 11 12 1 -e 12 17 1 -e 12 18 1 -e 12 19 1 diff -r fe01a054a6b2 -r 29cc4ec84a56 convert_graph.py --- a/convert_graph.py Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +0,0 @@ -#!/usr/bin/env python -# Aufruf convert_graph.py --infile datei --informat typ --outfile ausgabedatei --outformat ausgabetyp - -import sys, os -import networkx as nx -import argparse -import json - -from xgmml_networkx import XGMMLParserHelper, XGMMLWriter -from networkx.readwrite import json_graph - -#supported graph_types -graph_types = ["gml", "yaml", "gspan", "xgmml", "gexf", "graphml", "json", "pajek"] - -func_dic_read= {'gml': nx.read_gml, 'yaml':nx.read_yaml, 'gexf': nx.read_gexf, - 'graphml': nx.read_graphml, 'pajek': nx.read_pajek} - -func_dic_write= {'gml': nx.write_gml, 'yaml':nx.write_yaml, 'gexf': nx.write_gexf, - 'graphml': nx.write_graphml, 'pajek': nx.write_pajek} - -#completely supported types by networkx -completely_supported_types = ["gml", "gexf", "yaml", "graphml", "pajek"] - -def read_gspan(infile): - G = nx.Graph() - idoffset=0 - old_id_start=0 - for line in infile: - line_split=line.split(" ") - if line[0] == "v": - G.add_node(idoffset, label=line_split[2].strip()) - idoffset+=1 - elif line[0] == "e": - G.add_edge(old_id_start+int(line_split[1]), old_id_start+int(line_split[2]), label=line_split[3].strip()) - elif line[0] == "t": - # its a new subgraph - #idoffset*=1 - old_id_start=idoffset - #print(nx.is_connected(G)) - return G - - -def write_gspan(graph, outfile): - # get all subgraphs only works with undirected - subgraphs=nx.connected_components(graph.to_undirected()) - id_count=1 - node_count=0 - #get labels - label_dic=nx.get_node_attributes(graph,'label') - for s in subgraphs: - node_count_tree=0 - node_dict={} - outfile.write("t # id "+str(id_count)+"\n") - # for every node in subgraph - for v in sorted(s): - # node id restart from 0 for every sub graph - node_dict[v]=node_count_tree - outfile.write("v "+str(node_count_tree)+" "+label_dic[v]+" \n") - node_count_tree+=1 - node_count+=1 - - # all edges adjacent to a node of s - edges=nx.edges(graph, s) - for e in sorted(edges): - #print(graph[e[0]][e[1]]) - outfile.write("e "+str(node_dict[e[0]])+" "+str(node_dict[e[1]])+" "+graph[e[0]][e[1]]['label']+"\n") - - id_count+=1 -def read_json(file): - json_string=file.read() - print(json_string) - json_dict=json.loads(json_string) - print(json_dict) - return nx.Graph() - -def write_json(graph, outfile): - json_dict=json_graph.node_link_data(graph) - json_string=json.dumbs(json_dict) - outfile.write(json_string) - print("did it") - -def main( args ): - - if args.informat not in graph_types: - print "EXCEPTION COMPUTER EXPLODING" - # everything networkx can do by itself ;) - elif args.informat in completely_supported_types: - function = func_dic_read[args.informat] - graph = function(args.infile) - elif args.informat == "gspan": - graph = read_gspan(args.infile) - elif args.informat == "json": - graph = read_json(args.infile) - elif args.informat == "xgmml": - xgmml=XGMMLParserHelper() - xgmml.parseFile(args.infile) - graph=xgmml.graph() - - - - if args.outformat in completely_supported_types: - function = func_dic_write[args.outformat] - function(graph, args.outfile) - elif args.outformat == "gspan": - write_gspan(graph, args.outfile) - elif args.outformat == "json": - write_json(graph, args.outfile) - elif args.outformat == "xgmml": - #xgmml=XGMMLParserHelper(graph) - #xgmml.parseFile(open(sys.argv[1])) - a=XGMMLWriter(args.outfile, graph, "MyGraph") - -if __name__ == "__main__": - - parser = argparse.ArgumentParser() - parser.add_argument('--infile', type=argparse.FileType('r'), - help="Specify the input file representing a graph") - parser.add_argument('--outfile', type=argparse.FileType('w'), - help="Specify one output file") - parser.add_argument('--informat', type=str, - help="Specify the format of the input graph", choices = graph_types) - parser.add_argument('--outformat', type=str, - help="Specify the format of the output graph", choices = graph_types) - if len(sys.argv) < 8: - print "Too few arguments..." - parser.print_help() - exit(1) - args = parser.parse_args() - main( args ) diff -r fe01a054a6b2 -r 29cc4ec84a56 convert_graph.xml --- a/convert_graph.xml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ - - Convert between different Graphformats - echo "0.1.0" - - GRAPHCONVERTER_SCRIPT_PATH - - - python \$GRAPHCONVERTER_SCRIPT_PATH/convert_graph.py --infile $inputfile --informat $informat --outfile $outfile --outformat $outformat - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -**What it does** - -This tool converts a file representing a graph into another format. - - diff -r fe01a054a6b2 -r 29cc4ec84a56 deps.txt --- a/deps.txt Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -libyaml->pyyaml diff -r fe01a054a6b2 -r 29cc4ec84a56 gspantest2 --- a/gspantest2 Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -t # id 1 -v 0 O -v 3 O -e 0 3 1 -t # id 2 -v 0 O -v 1 O -v 2 O -v 3 O -e 0 1 1 -e 1 2 1 -e 1 3 1 - -t # id 3 -v 0 O -v 1 O -e 0 1 1 - diff -r fe01a054a6b2 -r 29cc4ec84a56 jsonex --- a/jsonex Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -{ - "id": "root", - "children": [{ - id: "n1", - labels: [ { text: "n1" } ], - width: 100, - height: 100, - },{ - id: "n2", - labels: [ { text: "n2" } ], - width: 100, - height: 50 - }], - "edges": [{ - id: "e1", - source: "n1", - target: "n2" - }] -} diff -r fe01a054a6b2 -r 29cc4ec84a56 jsonwiki --- a/jsonwiki Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -{ - "Herausgeber": "Xema", - "Nummer": "1234-5678-9012-3456", - "Deckung": 2e+6, - "Währung": "EURO", - "Inhaber": { - "Name": "Mustermann", - "Vorname": "Max", - "männlich": true, - "Hobbys": [ "Reiten", "Golfen", "Lesen" ], - "Alter": 42, - "Kinder": [], - "Partner": null - } -} - diff -r fe01a054a6b2 -r 29cc4ec84a56 neu.gml --- a/neu.gml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -graph [ - directed 1 - edge_default [ - ] - node [ - id 0 - label "Word" - ] - node [ - id 1 - label "Hello" - ] - edge [ - source 1 - target 0 - id "0" - ] -] diff -r fe01a054a6b2 -r 29cc4ec84a56 neu.xgmml --- a/neu.xgmml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r fe01a054a6b2 -r 29cc4ec84a56 neu.xml --- a/neu.xml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - - - - - diff -r fe01a054a6b2 -r 29cc4ec84a56 neu2.gml --- a/neu2.gml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -graph [ - directed 1 - node [ - id 1 - label "A" - weiteresAttribut "42" - ] - node [ - id 3 - label "C" - weiteresAttribut "44" - ] - node [ - id 2 - label "B" - weiteresAttribut "43" - ] - edge [ - source 1 - target 2 - weiteresAttribut "44" - id "3" - label "Kante AB" - ] - edge [ - source 3 - target 1 - weiteresAttribut "44" - id "3" - label "Kante CA" - ] - edge [ - source 2 - target 3 - weiteresAttribut "44" - id "3" - label "Kante BC" - ] -] diff -r fe01a054a6b2 -r 29cc4ec84a56 test-data/bsp_graph.gml --- a/test-data/bsp_graph.gml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -graph [ - comment "Das ist ein Beispielgraph." - directed 1 - id 42 - label "Graph" - node [ - id 1 - label "A" - weiteresAttribut 42 - ] - node [ - id 2 - label "B" - weiteresAttribut 43 - ] - node [ - id 3 - label "C" - weiteresAttribut 44 - ] - edge [ - source 1 - target 2 - label "Kante AB" - ] - edge [ - source 2 - target 3 - label "Kante BC" - ] - edge [ - source 3 - target 1 - label "Kante CA" - ] -] - diff -r fe01a054a6b2 -r 29cc4ec84a56 test-data/bsp_graph.gml~ --- a/test-data/bsp_graph.gml~ Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ - Creator "yFiles" - Version 2.2 - graph - [ hierarchic 1 - directed 1 - node - [ id 0 - graphics - [ x 200.0 - y 0.0 - ] - LabelGraphics - [ text "January" ] - ] - node - [ id 1 - graphics - [ x 425.0 - y 75.0 - ] - LabelGraphics - [ text "December" ] - ] - edge - [ source 1 - target 0 - graphics - [ Line - [ point - [ x 425.0 - y 75.0 - ] - point - [ x 425.0 - y 0.0 - ] - point - [ x 200.0 - y 0.0 - ] - ] - ] - LabelGraphics - [ text "Happy New Year!" - model "six_pos" - position "head" - ] - ] - ] diff -r fe01a054a6b2 -r 29cc4ec84a56 test-data/graph2.gexf --- a/test-data/graph2.gexf Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ - - - - Gexf.net - A hello world! file - - - - - - - - - - - diff -r fe01a054a6b2 -r 29cc4ec84a56 test.gexf --- a/test.gexf Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,389 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r fe01a054a6b2 -r 29cc4ec84a56 test.gml --- a/test.gml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,569 +0,0 @@ -graph [ - node [ - id 0 - label "O" - ] - node [ - id 1 - label "O" - ] - node [ - id 2 - label "O" - ] - node [ - id 3 - label "O" - ] - node [ - id 4 - label "C" - ] - node [ - id 5 - label "C" - ] - node [ - id 6 - label "C" - ] - node [ - id 7 - label "C" - ] - node [ - id 8 - label "C" - ] - node [ - id 9 - label "C" - ] - node [ - id 10 - label "C" - ] - node [ - id 11 - label "C" - ] - node [ - id 12 - label "C" - ] - node [ - id 13 - label "H" - ] - node [ - id 14 - label "H" - ] - node [ - id 15 - label "H" - ] - node [ - id 16 - label "H" - ] - node [ - id 17 - label "H" - ] - node [ - id 18 - label "H" - ] - node [ - id 19 - label "H" - ] - node [ - id 20 - label "H" - ] - node [ - id 21 - label "O" - ] - node [ - id 22 - label "O" - ] - node [ - id 23 - label "O" - ] - node [ - id 24 - label "O" - ] - node [ - id 25 - label "C" - ] - node [ - id 26 - label "C" - ] - node [ - id 27 - label "C" - ] - node [ - id 28 - label "C" - ] - node [ - id 29 - label "C" - ] - node [ - id 30 - label "C" - ] - node [ - id 31 - label "C" - ] - node [ - id 32 - label "C" - ] - node [ - id 33 - label "C" - ] - node [ - id 34 - label "H" - ] - node [ - id 35 - label "H" - ] - node [ - id 36 - label "H" - ] - node [ - id 37 - label "H" - ] - node [ - id 38 - label "H" - ] - node [ - id 39 - label "H" - ] - node [ - id 40 - label "H" - ] - node [ - id 41 - label "H" - ] - node [ - id 42 - label "O" - ] - node [ - id 43 - label "O" - ] - node [ - id 44 - label "O" - ] - node [ - id 45 - label "O" - ] - node [ - id 46 - label "C" - ] - node [ - id 47 - label "C" - ] - node [ - id 48 - label "C" - ] - node [ - id 49 - label "C" - ] - node [ - id 50 - label "C" - ] - node [ - id 51 - label "C" - ] - node [ - id 52 - label "C" - ] - node [ - id 53 - label "C" - ] - node [ - id 54 - label "C" - ] - node [ - id 55 - label "H" - ] - node [ - id 56 - label "H" - ] - node [ - id 57 - label "H" - ] - node [ - id 58 - label "H" - ] - node [ - id 59 - label "H" - ] - node [ - id 60 - label "H" - ] - node [ - id 61 - label "H" - ] - node [ - id 62 - label "H" - ] - edge [ - source 0 - target 11 - label "1" - ] - edge [ - source 0 - target 4 - label "1" - ] - edge [ - source 1 - target 10 - label "1" - ] - edge [ - source 1 - target 20 - label "1" - ] - edge [ - source 2 - target 10 - label "2" - ] - edge [ - source 3 - target 11 - label "2" - ] - edge [ - source 4 - target 5 - label "1" - ] - edge [ - source 4 - target 6 - label "2" - ] - edge [ - source 5 - target 10 - label "1" - ] - edge [ - source 5 - target 7 - label "2" - ] - edge [ - source 6 - target 8 - label "1" - ] - edge [ - source 6 - target 13 - label "1" - ] - edge [ - source 7 - target 9 - label "1" - ] - edge [ - source 7 - target 14 - label "1" - ] - edge [ - source 8 - target 9 - label "2" - ] - edge [ - source 8 - target 15 - label "1" - ] - edge [ - source 9 - target 16 - label "1" - ] - edge [ - source 11 - target 12 - label "1" - ] - edge [ - source 12 - target 19 - label "1" - ] - edge [ - source 12 - target 17 - label "1" - ] - edge [ - source 12 - target 18 - label "1" - ] - edge [ - source 21 - target 32 - label "1" - ] - edge [ - source 21 - target 25 - label "1" - ] - edge [ - source 22 - target 41 - label "1" - ] - edge [ - source 22 - target 31 - label "1" - ] - edge [ - source 23 - target 31 - label "2" - ] - edge [ - source 24 - target 32 - label "2" - ] - edge [ - source 25 - target 26 - label "1" - ] - edge [ - source 25 - target 27 - label "2" - ] - edge [ - source 26 - target 28 - label "2" - ] - edge [ - source 26 - target 31 - label "1" - ] - edge [ - source 27 - target 34 - label "1" - ] - edge [ - source 27 - target 29 - label "1" - ] - edge [ - source 28 - target 35 - label "1" - ] - edge [ - source 28 - target 30 - label "1" - ] - edge [ - source 29 - target 36 - label "1" - ] - edge [ - source 29 - target 30 - label "2" - ] - edge [ - source 30 - target 37 - label "1" - ] - edge [ - source 32 - target 33 - label "1" - ] - edge [ - source 33 - target 40 - label "1" - ] - edge [ - source 33 - target 38 - label "1" - ] - edge [ - source 33 - target 39 - label "1" - ] - edge [ - source 42 - target 53 - label "1" - ] - edge [ - source 42 - target 46 - label "1" - ] - edge [ - source 43 - target 52 - label "1" - ] - edge [ - source 43 - target 62 - label "1" - ] - edge [ - source 44 - target 52 - label "2" - ] - edge [ - source 45 - target 53 - label "2" - ] - edge [ - source 46 - target 48 - label "2" - ] - edge [ - source 46 - target 47 - label "1" - ] - edge [ - source 47 - target 49 - label "2" - ] - edge [ - source 47 - target 52 - label "1" - ] - edge [ - source 48 - target 50 - label "1" - ] - edge [ - source 48 - target 55 - label "1" - ] - edge [ - source 49 - target 56 - label "1" - ] - edge [ - source 49 - target 51 - label "1" - ] - edge [ - source 50 - target 57 - label "1" - ] - edge [ - source 50 - target 51 - label "2" - ] - edge [ - source 51 - target 58 - label "1" - ] - edge [ - source 53 - target 54 - label "1" - ] - edge [ - source 54 - target 59 - label "1" - ] - edge [ - source 54 - target 60 - label "1" - ] - edge [ - source 54 - target 61 - label "1" - ] -] diff -r fe01a054a6b2 -r 29cc4ec84a56 test.gspan --- a/test.gspan Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -t # id 1 -v 0 A -v 1 B -v 2 C -e 0 1 Kante AB -e 1 2 Kante BC -e 2 0 Kante CA diff -r fe01a054a6b2 -r 29cc4ec84a56 test.json diff -r fe01a054a6b2 -r 29cc4ec84a56 test.xgmml --- a/test.xgmml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff -r fe01a054a6b2 -r 29cc4ec84a56 test.xml --- a/test.xml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - - - - - diff -r fe01a054a6b2 -r 29cc4ec84a56 test.yaml --- a/test.yaml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -!!python/object:networkx.classes.digraph.DiGraph -adj: &id001 - !!python/unicode '1': - !!python/unicode '2': &id003 {!!python/unicode 'id': !!python/unicode '3', !!python/unicode 'label': !!python/unicode 'Kante - AB', !!python/unicode 'weiteresAttribut': !!python/unicode '44'} - !!python/unicode '2': - !!python/unicode '3': &id004 {!!python/unicode 'id': !!python/unicode '3', !!python/unicode 'label': !!python/unicode 'Kante - BC', !!python/unicode 'weiteresAttribut': !!python/unicode '44'} - !!python/unicode '3': - !!python/unicode '1': &id002 {!!python/unicode 'id': !!python/unicode '3', !!python/unicode 'label': !!python/unicode 'Kante - CA', !!python/unicode 'weiteresAttribut': !!python/unicode '44'} -edge: *id001 -graph: {} -node: - !!python/unicode '1': {!!python/unicode 'id': !!python/unicode '1', label: !!python/unicode 'A', - !!python/unicode 'weiteresAttribut': !!python/unicode '42'} - !!python/unicode '2': {!!python/unicode 'id': !!python/unicode '2', label: !!python/unicode 'B', - !!python/unicode 'weiteresAttribut': !!python/unicode '43'} - !!python/unicode '3': {!!python/unicode 'id': !!python/unicode '3', label: !!python/unicode 'C', - !!python/unicode 'weiteresAttribut': !!python/unicode '44'} -pred: - !!python/unicode '1': - !!python/unicode '3': *id002 - !!python/unicode '2': - !!python/unicode '1': *id003 - !!python/unicode '3': - !!python/unicode '2': *id004 -succ: *id001 diff -r fe01a054a6b2 -r 29cc4ec84a56 tool_dependencies.xml --- a/tool_dependencies.xml Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ - - - $REPOSITORY_INSTALL_DIR - - diff -r fe01a054a6b2 -r 29cc4ec84a56 xgmml_networkx.py --- a/xgmml_networkx.py Fri Feb 28 08:57:44 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,124 +0,0 @@ -__author__ = "Yasunobu OKAMURA" -__copyright__ = "Copyright (c) 2012 Y.Okamura" -__license__ = "GPL v3+" - -import xml.parsers.expat -import networkx as nx - -class XGMMLParserHelper(object): - """ - """ - - def __init__(self, graph=nx.DiGraph()): - """ - - Arguments: - - `graph`: Network X graph object - """ - self._graph = graph - self._parser = xml.parsers.expat.ParserCreate() - self._parser.StartElementHandler = self._start_element - self._parser.EndElementHandler = self._end_element - self._tagstack = list() - - self._current_attr = dict() - self._current_obj = dict() - - def _start_element(self, tag, attr): - """ - - Arguments: - - `self`: - - `tag`: - - `attr`: - """ - - self._tagstack.append(tag) - - if tag == 'node' or tag == 'edge': - self._current_obj = dict(attr) - - if tag == 'att' and (self._tagstack[-2] == 'node' or self._tagstack[-2] == 'edge'): - if attr['type'] == 'string': - self._current_attr[attr['name']] = attr['value'] - elif attr['type'] == 'real': - self._current_attr[attr['name']] = float(attr['value']) - elif attr['type'] == 'integer': - self._current_attr[attr['name']] = int(attr['value']) - elif attr['type'] == 'boolean': - self._current_attr[attr['name']] = bool(attr['value']) - else: - raise NotImplementedError(attr['type']) - - def _end_element(self, tag): - """ - - Arguments: - - `self`: - - `tag`: - """ - - if tag == 'node': - self._graph.add_node(self._current_obj['id'], label=self._current_obj['label'], **self._current_attr) - #print 'add node', self._current_obj - elif tag == 'edge': - self._graph.add_edge(self._current_obj['source'], self._current_obj['target'], **self._current_attr) - - self._tagstack.pop() - - def parseFile(self, file): - """ - - Arguments: - - `self`: - - `file`: - """ - - self._parser.ParseFile(file) - - def graph(self): - """ - - Arguments: - - `self`: - """ - - return self._graph - -def XGMMLWriter(file, graph, graph_name): - """ - - Arguments: - - `graph`: - """ - - print >>file, """ - - - - -""".format(graph_name) - - - for onenode in graph.nodes(data=True): - id = onenode[0] - attr = dict(onenode[1]) - - if 'label' in attr: - label = attr['label'] - del attr['label'] - else: - label = id - - print >>file, ''.format(id=id, label=label) - for k, v in attr.iteritems(): - print >>file, ''.format(k, v) - print >>file, '' - - for oneedge in graph.edges(data=True): - print >>file, ''.format(oneedge[0], oneedge[1]) - for k, v in oneedge[2].iteritems(): - print >>file, ''.format(k, v) - print >>file, '' - print >>file, '' - diff -r fe01a054a6b2 -r 29cc4ec84a56 xgmml_networkx.pyc Binary file xgmml_networkx.pyc has changed