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   366 use 5.016;
  17         69  
3             our $VERSION = '2.01';
4 17     17   153 use strict;
  17         40  
  17         514  
5 17     17   106 use warnings;
  17         40  
  17         998  
6              
7 17     17   97 use parent 'EBook::Ishmael::EBook::CB';
  17         36  
  17         112  
8              
9 17     17   1416 use EBook::Ishmael::Unzip qw(unzip);
  17         33  
  17         5051  
10              
11             my $MAGIC = pack "C*", 0x50, 0x4b, 0x03, 0x04;
12              
13             sub heuristic {
14              
15 126     126 0 242 my $class = shift;
16 126         303 my $file = shift;
17 126         261 my $fh = shift;
18              
19 126 100       908 return 0 unless $file =~ /\.cbz$/;
20              
21 11         376 read $fh, my $mag, length $MAGIC;
22              
23 11         68 return $mag eq $MAGIC;
24              
25             }
26              
27             sub extract {
28              
29 10     10 0 27 my $self = shift;
30 10         29 my $out = shift;
31              
32 10         53 unzip($self->{Source}, $out);
33              
34 10         67 return 1;
35              
36             }
37              
38 10     10 0 55 sub format { 'CBZ' }
39              
40             1;