File Coverage

blib/lib/EBook/Ishmael/EBook/CBZ.pm
Criterion Covered Total %
statement 25 25 100.0
branch 2 2 100.0
condition n/a
subroutine 8 8 100.0
pod 0 3 0.0
total 35 38 92.1


line stmt bran cond sub pod time code
1             package EBook::Ishmael::EBook::CBZ;
2 17     17   268 use 5.016;
  17         70  
3             our $VERSION = '2.05';
4 17     17   74 use strict;
  17         23  
  17         322  
5 17     17   66 use warnings;
  17         23  
  17         661  
6              
7 17     17   55 use parent 'EBook::Ishmael::EBook::CB';
  17         19  
  17         89  
8              
9 17     17   1003 use EBook::Ishmael::Unzip qw(unzip);
  17         26  
  17         3372  
10              
11             my $MAGIC = pack "C*", 0x50, 0x4b, 0x03, 0x04;
12              
13             sub heuristic {
14              
15 126     126 0 158 my $class = shift;
16 126         139 my $file = shift;
17 126         148 my $fh = shift;
18              
19 126 100       353 return 0 unless $file =~ /\.cbz$/;
20              
21 11         234 read $fh, my $mag, length $MAGIC;
22              
23 11         57 return $mag eq $MAGIC;
24              
25             }
26              
27             sub extract {
28              
29 10     10 0 18 my $self = shift;
30 10         247 my $out = shift;
31              
32 10         36 unzip($self->{Source}, $out);
33              
34 10         44 return 1;
35              
36             }
37              
38 10     10 0 42 sub format { 'CBZ' }
39              
40             1;