line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package WebService::Simple::Google::Chart; |
2
|
2
|
|
|
2
|
|
13
|
use strict; |
|
2
|
|
|
|
|
5
|
|
|
2
|
|
|
|
|
90
|
|
3
|
2
|
|
|
2
|
|
12
|
use warnings; |
|
2
|
|
|
|
|
5
|
|
|
2
|
|
|
|
|
124
|
|
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
our $VERSION = '0.05'; |
6
|
|
|
|
|
|
|
|
7
|
2
|
|
|
2
|
|
11
|
use base qw(WebService::Simple); |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
2092
|
|
8
|
|
|
|
|
|
|
__PACKAGE__->config( |
9
|
|
|
|
|
|
|
base_url => "http://chart.apis.google.com/chart", |
10
|
|
|
|
|
|
|
request_param => {}, |
11
|
|
|
|
|
|
|
); |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
sub get_url { |
14
|
0
|
|
|
0
|
|
|
my ( $self, $param, $data ) = @_; |
15
|
0
|
|
|
|
|
|
$self->{request_param} = $param; |
16
|
0
|
|
|
|
|
|
$self->_set_data_param($data); |
17
|
0
|
|
|
|
|
|
return $self->request_url( ( params => $self->{request_param}, url => $self->{base_url} ) ); |
18
|
|
|
|
|
|
|
} |
19
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
sub render_to_file { |
21
|
0
|
|
|
0
|
|
|
my ( $self, $filename, $param, $data ) = @_; |
22
|
0
|
0
|
|
|
|
|
if ($param) { |
23
|
0
|
|
|
|
|
|
$self->{request_param} = $param; |
24
|
0
|
|
|
|
|
|
$self->_set_data_param($data); |
25
|
|
|
|
|
|
|
} |
26
|
0
|
|
|
|
|
|
$self->SUPER::get( $self->{request_param}, ":content_file" => $filename ); |
27
|
|
|
|
|
|
|
} |
28
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
sub _set_data_param { |
30
|
0
|
|
|
0
|
|
|
my ($self, $data) = @_; |
31
|
0
|
|
|
|
|
|
my ( @label, @value, $total_count ); |
32
|
0
|
|
|
|
|
|
$total_count = 0; |
33
|
0
|
|
|
|
|
|
map { $total_count += $data->{$_} } keys %$data; |
|
0
|
|
|
|
|
|
|
34
|
0
|
|
|
|
|
|
foreach my $key ( keys %$data ) { |
35
|
0
|
|
|
|
|
|
push( @label, $key ); |
36
|
0
|
|
|
|
|
|
my $percent = int( $data->{$key} / $total_count * 100 + 0.5 ); |
37
|
0
|
|
|
|
|
|
push( @value, $percent ); |
38
|
|
|
|
|
|
|
} |
39
|
0
|
|
|
|
|
|
my $data_param = {}; |
40
|
0
|
|
|
|
|
|
$self->{request_param}->{chl} = join( "|", @label ); |
41
|
0
|
|
|
|
|
|
$self->{request_param}->{chd} = "t:" . join( ",", @value ); |
42
|
|
|
|
|
|
|
} |
43
|
|
|
|
|
|
|
|
44
|
|
|
|
|
|
|
1; |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
__END__ |