From 1448eede680478eef74c51b965815097ef45d02a Mon Sep 17 00:00:00 2001 From: franck cuny Date: Mon, 23 Mar 2009 17:25:05 +0100 Subject: initial import --- gen-gdf.pl | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 gen-gdf.pl (limited to 'gen-gdf.pl') diff --git a/gen-gdf.pl b/gen-gdf.pl new file mode 100755 index 0000000..72ce349 --- /dev/null +++ b/gen-gdf.pl @@ -0,0 +1,60 @@ +#!/opt/perl/bin/perl -w +use strict; +use feature ':5.10'; +use Getopt::Long; + +use lib ( 'lib' ); +use CPAN::mapcpan; + +my $options = GetOptions( + 'out=s' => \my $output_gdf, + 'dbmap=s' => \my $db_map +); + +my $dbmap = CPAN::cpanmap->connect( "dbi:SQLite:dbname=" . $db_map, "", "" ); + +my $array_edges; +my $hash_nodes; + +my $packages = $dbmap->resultset( 'packages' )->search; +say "create nodes"; +while ( my $package = $packages->next ) { + $hash_nodes->{ $package->id } = { + tests => $package->tests_success, + name => $package->dist, + author => $package->author, + date => $package->released, + }; +} + +my $edges = $dbmap->resultset( 'edges' )->search; +say "create edges"; +while ( my $edge = $edges->next ) { + push @$array_edges, + { + node1 => $edge->dist_from, + node2 => $edge->dist_to, + directed => 'true', + }; +} + +#my $out = "nodedef>name VARCHAR,label VARCHAR,tests INTEGER,author VARCHAR,date VARCHAR\n"; +#foreach my $key ( keys %$hash_nodes ) { + #$out + #.= $key . "," + #. $hash_nodes->{ $key }->{ name } . "," + #. $hash_nodes->{ $key }->{ tests } . "," + #. $hash_nodes->{ $key }->{ author } . "," + #. $hash_nodes->{ $key }->{ date } . "\n"; +#} +#$out .= "edgedef>node1 VARCHAR,node2 VARCHAR,directed BOOLEAN\n"; +#foreach my $edge ( @$array_edges ) { + #$out + #.= $edge->{ node1 } . "," + #. $edge->{ node2 } . "," + #. $edge->{ directed } . "\n"; +#} + +#open my $fh_gdf, '>', $output_gdf or die $!; +#print $fh_gdf $out; +#close $fh_gdf; \ No newline at end of file -- cgit 1.4.1