line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Pod::Html::HtmlTree; |
2
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
12074
|
use strict; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
33
|
|
4
|
1
|
|
|
1
|
|
949
|
use Pod::Html; |
|
1
|
|
|
|
|
280394
|
|
|
1
|
|
|
|
|
73
|
|
5
|
1
|
|
|
1
|
|
10
|
use File::Find; |
|
1
|
|
|
|
|
8
|
|
|
1
|
|
|
|
|
189
|
|
6
|
1
|
|
|
1
|
|
4
|
use File::Path; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
154
|
|
7
|
1
|
|
|
1
|
|
5
|
use File::Basename; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
61
|
|
8
|
1
|
|
|
1
|
|
6
|
use List::Util qw/first/; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
89
|
|
9
|
1
|
|
|
1
|
|
2938
|
use Data::Dumper; |
|
1
|
|
|
|
|
8352
|
|
|
1
|
|
|
|
|
1160
|
|
10
|
|
|
|
|
|
|
our $VERSION = 0.92; |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
sub new { |
13
|
4
|
|
|
4
|
0
|
5494
|
my $class = shift; |
14
|
4
|
|
100
|
|
|
33
|
my $self = shift || {}; |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
# default setting. |
17
|
4
|
|
|
|
|
22
|
$self->{pod_exts} = [ 'pm' ,'pl' ,'cgi','pod' ]; |
18
|
4
|
|
|
|
|
10
|
$self->{mask_dir} = 0775; |
19
|
4
|
|
|
|
|
9
|
$self->{mask_html} = 0664; |
20
|
|
|
|
|
|
|
|
21
|
4
|
|
|
|
|
10
|
bless $self , $class; |
22
|
4
|
|
|
|
|
11
|
return $self; |
23
|
|
|
|
|
|
|
} |
24
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
sub create { |
26
|
4
|
|
|
4
|
0
|
27
|
my $self = shift; |
27
|
|
|
|
|
|
|
|
28
|
4
|
|
|
|
|
22
|
my $paths_ref = $self->_get_paths(); |
29
|
4
|
|
|
|
|
18
|
my $umask = umask 0000; |
30
|
|
|
|
|
|
|
|
31
|
4
|
|
|
|
|
7
|
for my $file_ref ( @{ $paths_ref } ) { |
|
4
|
|
|
|
|
9
|
|
32
|
3
|
100
|
|
|
|
235
|
if ( !-d dirname( $file_ref->{outfile} ) ) { |
33
|
2
|
|
|
|
|
964
|
mkpath( dirname( $file_ref->{outfile} ) , 0 , $self->{mask_dir} ) ; |
34
|
|
|
|
|
|
|
} |
35
|
3
|
|
100
|
|
|
34
|
$self->{args} = $self->{args} || []; |
36
|
3
|
|
|
|
|
5
|
my @args = @{ $self->{args} } ; |
|
3
|
|
|
|
|
11
|
|
37
|
3
|
|
|
|
|
11
|
push ( @args , '--infile=' . $file_ref->{infile} ); |
38
|
3
|
|
|
|
|
8
|
push ( @args , '--outfile=' . $file_ref->{outfile} ); |
39
|
|
|
|
|
|
|
|
40
|
3
|
|
|
|
|
27
|
pod2html( @args ); |
41
|
2
|
|
|
|
|
55917
|
chmod $self->{mask_html} , $file_ref->{outfile} ; |
42
|
|
|
|
|
|
|
} |
43
|
3
|
|
|
|
|
144
|
unlink './pod2htmd.tmp'; |
44
|
3
|
|
|
|
|
25
|
unlink './pod2htmi.tmp'; |
45
|
|
|
|
|
|
|
|
46
|
3
|
|
|
|
|
14
|
umask $umask; |
47
|
3
|
|
|
|
|
30
|
return $paths_ref; |
48
|
|
|
|
|
|
|
} |
49
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
sub args { |
51
|
1
|
|
|
1
|
0
|
31
|
my $self = shift; |
52
|
1
|
|
|
|
|
2
|
my $arg = shift; |
53
|
|
|
|
|
|
|
|
54
|
1
|
|
|
|
|
3
|
$self->{args} = []; |
55
|
|
|
|
|
|
|
|
56
|
1
|
|
|
|
|
3
|
foreach my $key ( keys %{ $arg } ) { |
|
1
|
|
|
|
|
8
|
|
57
|
14
|
100
|
|
|
|
43
|
my $value = $arg->{$key} eq '0' ? "--$key" : "--$key=$arg->{$key}" ; |
58
|
14
|
|
|
|
|
12
|
push @{ $self->{args} } , $value ; |
|
14
|
|
|
|
|
28
|
|
59
|
|
|
|
|
|
|
} |
60
|
|
|
|
|
|
|
} |
61
|
|
|
|
|
|
|
|
62
|
|
|
|
|
|
|
#{{{ setter |
63
|
|
|
|
|
|
|
sub pod_exts { |
64
|
2
|
|
|
2
|
0
|
34
|
my $self = shift; |
65
|
2
|
|
|
|
|
6
|
$self->{pod_exts} = shift; |
66
|
|
|
|
|
|
|
} |
67
|
|
|
|
|
|
|
sub mask_dir { |
68
|
0
|
|
|
0
|
0
|
0
|
my $self = shift; |
69
|
0
|
|
|
|
|
0
|
$self->{mask_dir} = shift; |
70
|
|
|
|
|
|
|
} |
71
|
|
|
|
|
|
|
|
72
|
|
|
|
|
|
|
sub mask_html { |
73
|
0
|
|
|
0
|
0
|
0
|
my $self = shift; |
74
|
0
|
|
|
|
|
0
|
$self->{mask_html} = shift; |
75
|
|
|
|
|
|
|
} |
76
|
|
|
|
|
|
|
|
77
|
|
|
|
|
|
|
sub indir { |
78
|
1
|
|
|
1
|
0
|
8
|
my $self = shift; |
79
|
1
|
|
|
|
|
7
|
$self->{indir} = shift; |
80
|
|
|
|
|
|
|
} |
81
|
|
|
|
|
|
|
|
82
|
|
|
|
|
|
|
sub outdir { |
83
|
1
|
|
|
1
|
0
|
5
|
my $self = shift; |
84
|
1
|
|
|
|
|
4
|
$self->{outdir} = shift; |
85
|
|
|
|
|
|
|
} |
86
|
|
|
|
|
|
|
|
87
|
|
|
|
|
|
|
#}}} |
88
|
|
|
|
|
|
|
|
89
|
|
|
|
|
|
|
#{{{ PRIVATE |
90
|
|
|
|
|
|
|
sub _get_paths { |
91
|
4
|
|
|
4
|
|
9
|
my $self = shift; |
92
|
4
|
|
|
|
|
9
|
my @infiles = (); |
93
|
4
|
|
|
|
|
9
|
my @paths = (); |
94
|
|
|
|
|
|
|
File::Find::find( |
95
|
|
|
|
|
|
|
sub { |
96
|
16
|
|
|
16
|
|
28
|
my $file_name = $_; |
97
|
16
|
100
|
100
|
|
|
1217
|
if (!-d $_ && $self->_is_ok_ext( $file_name ) ) { |
98
|
3
|
|
|
|
|
110
|
push @infiles , $File::Find::name ; |
99
|
|
|
|
|
|
|
} |
100
|
|
|
|
|
|
|
}, |
101
|
4
|
|
|
|
|
788
|
$self->{indir} |
102
|
|
|
|
|
|
|
); |
103
|
|
|
|
|
|
|
|
104
|
|
|
|
|
|
|
# set { outfile , infile } in array |
105
|
4
|
|
|
|
|
24
|
for my $infile ( @infiles ) { |
106
|
|
|
|
|
|
|
# get ext |
107
|
3
|
|
|
|
|
17
|
my @splited_file_by_dot = split /\./ , $infile ; |
108
|
3
|
|
|
|
|
9
|
my $ext = $splited_file_by_dot[-1]; |
109
|
|
|
|
|
|
|
|
110
|
|
|
|
|
|
|
# get outfile |
111
|
3
|
|
|
|
|
5
|
my $outfile = $infile; |
112
|
3
|
|
|
|
|
27
|
my $os = fileparse_set_fstype(); |
113
|
3
|
50
|
33
|
|
|
22
|
if( $os eq 'MSWin32' || $os eq 'DOS' ) { |
114
|
0
|
|
|
|
|
0
|
my $indir = $self->{indir}; |
115
|
0
|
|
|
|
|
0
|
my $outdir = $self->{outdir}; |
116
|
0
|
|
|
|
|
0
|
$outfile =~ s/\\/\//g; |
117
|
0
|
|
|
|
|
0
|
$indir =~ s/\\/\//g; |
118
|
0
|
|
|
|
|
0
|
$outdir =~ s/\\/\//g; |
119
|
0
|
|
|
|
|
0
|
$outfile =~ s/$indir/$outdir/; |
120
|
0
|
|
|
|
|
0
|
$outfile =~ s/\.$ext/\.html/; |
121
|
0
|
|
|
|
|
0
|
$outfile =~ s/\//\\/g; |
122
|
|
|
|
|
|
|
} |
123
|
|
|
|
|
|
|
else { |
124
|
3
|
|
|
|
|
33
|
$outfile =~ s/$self->{indir}/$self->{outdir}/; |
125
|
3
|
|
|
|
|
33
|
$outfile =~ s/\.$ext/\.html/; |
126
|
|
|
|
|
|
|
} |
127
|
|
|
|
|
|
|
|
128
|
|
|
|
|
|
|
# make file hash |
129
|
3
|
|
|
|
|
14
|
my $file_ref = { |
130
|
|
|
|
|
|
|
infile => $infile , |
131
|
|
|
|
|
|
|
outfile => $outfile , |
132
|
|
|
|
|
|
|
}; |
133
|
3
|
|
|
|
|
32
|
push @paths , $file_ref ; |
134
|
|
|
|
|
|
|
}; |
135
|
|
|
|
|
|
|
|
136
|
4
|
|
|
|
|
15
|
return \@paths; |
137
|
|
|
|
|
|
|
} |
138
|
|
|
|
|
|
|
|
139
|
|
|
|
|
|
|
sub _is_ok_ext { |
140
|
4
|
|
|
4
|
|
8
|
my $self = shift; |
141
|
4
|
|
|
|
|
7
|
my $file_name = shift; |
142
|
|
|
|
|
|
|
|
143
|
4
|
|
|
5
|
|
19
|
my $find = first { $file_name =~ /\.$_$/} @{ $self->{pod_exts} }; |
|
5
|
|
|
|
|
89
|
|
|
4
|
|
|
|
|
30
|
|
144
|
4
|
100
|
|
|
|
72
|
return $find ? 1 : 0 ; |
145
|
|
|
|
|
|
|
} |
146
|
|
|
|
|
|
|
#}}} |
147
|
|
|
|
|
|
|
1; |
148
|
|
|
|
|
|
|
|
149
|
|
|
|
|
|
|
|
150
|
|
|
|
|
|
|
__END__ |