From e321b6d19f3eb1b1be1328f3ed0fef82acb85289 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Mon, 15 Feb 2010 13:13:46 +0100 Subject: get_average --- lib/githubexplorer/Gexf.pm | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) (limited to 'lib/githubexplorer') diff --git a/lib/githubexplorer/Gexf.pm b/lib/githubexplorer/Gexf.pm index de0da49..304b57c 100644 --- a/lib/githubexplorer/Gexf.pm +++ b/lib/githubexplorer/Gexf.pm @@ -93,17 +93,18 @@ has graph => ( sub gen_gexf { my $self = shift; - $self->basic_profiles; - my $basic_profiles = $self->dump_gexf; - $basic_profiles > io('basic_profiles.gexf'); + $self->_average_by_langage(); + # $self->basic_profiles; + # my $basic_profiles = $self->dump_gexf; + # $basic_profiles > io('basic_profiles.gexf'); - $self->profiles_from_repositories; - my $profiles_from_repositories = $self->dump_gexf; - $profiles_from_repositories > io('profiles_from_repositories.gexf'); + # $self->profiles_from_repositories; + # my $profiles_from_repositories = $self->dump_gexf; + # $profiles_from_repositories > io('profiles_from_repositories.gexf'); - $self->repositories_from_profiles; - my $repositories_from_profiles = $self->dump_gexf; - $profiles_from_repositories > io('repositories_from_profiles.gexf'); + # $self->repositories_from_profiles; + # my $repositories_from_profiles = $self->dump_gexf; + # $profiles_from_repositories > io('repositories_from_profiles.gexf'); } sub dump_gefx { @@ -268,6 +269,23 @@ sub _get_languages_for_profile { return ( \%languages, \@sorted_lang ); } +sub _average_by_langage { + my $self = shift; + my $hash_lang; + my $repositories = $self->schema->resultset('Repositories')->search(); + while my ( $repos = $repositories->next ) { + my $lang = $self->schema->resultset('RepoLang')->search( + { repositories => $repos->id }, { order_by => 'size' } + )->first; + $hash_lang->{ $lang->name }->{repositories}++; + my $forks = $self->schema->resultset('Fork') + ->search( { repos => $repos->id } )->count; + $hash_lang->{ $lang->name }->{contributors} += $forks; + }; + use YAML::Syck; + warn Dump $hash_lang; +} + #sub repositories { # my $self = shift; # -- cgit 1.4.1