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   331 use 5.016;
  17         62  
3             our $VERSION = '2.03';
4 17     17   140 use strict;
  17         32  
  17         414  
5 17     17   68 use warnings;
  17         30  
  17         915  
6              
7 17     17   92 use parent 'EBook::Ishmael::EBook::CB';
  17         33  
  17         110  
8              
9 17     17   1334 use EBook::Ishmael::Unzip qw(unzip);
  17         29  
  17         4296  
10              
11             my $MAGIC = pack "C*", 0x50, 0x4b, 0x03, 0x04;
12              
13             sub heuristic {
14              
15 126     126 0 309 my $class = shift;
16 126         260 my $file = shift;
17 126         364 my $fh = shift;
18              
19 126 100       603 return 0 unless $file =~ /\.cbz$/;
20              
21 11         313 read $fh, my $mag, length $MAGIC;
22              
23 11         56 return $mag eq $MAGIC;
24              
25             }
26              
27             sub extract {
28              
29 10     10 0 27 my $self = shift;
30 10         24 my $out = shift;
31              
32 10         47 unzip($self->{Source}, $out);
33              
34 10         67 return 1;
35              
36             }
37              
38 10     10 0 54 sub format { 'CBZ' }
39              
40             1;