Branch Coverage

blib/lib/IMDB/Local.pm
Criterion Covered Total %
branch 0 484 0.0


line true false branch
78 0 0 unless defined $$self{$_}
87 0 0 if (defined $$self{'listsDir'})
139 0 0 if (defined $$self{'logfd'}) { }
152 0 0 if ($$self{'verbose'})
173 0 0 if ($file =~ /\.gz$/) { }
196 0 0 if ($file =~ /\.gz$/) { }
222 0 0 if ($dbkey =~ s/\s*\{([^\}]+)\}//o)
224 0 0 if ($s =~ s/\s*\(\#(\d+)\.(\d+)\)$//) { }
0 0 elsif ($s =~ /^\((\d\d\d\d)\-(\d\d)\-(\d\d)\)$/) { }
255 0 0 if (defined $$self{'seriesKeys'}{$parentKey})
262 0 0 if ($dbkey =~ s/^\"//o and $dbkey =~ s/\" \(/ (/o) { }
0 0 elsif ($dbkey =~ s/\s+\(TV\)$//o) { }
0 0 elsif ($dbkey =~ s/\s+\(V\)$//o) { }
0 0 elsif ($dbkey =~ s/\s+\(VG\)$//o) { }
263 0 0 if ($dbkey =~ s/\s+\(mini\)$//o) { }
264 0 0 if ($hash{'parentId'} == 0) { }
273 0 0 if ($hash{'parentId'} == 0) { }
305 0 0 if ($title =~ /^\"/o and $title =~ /\"\s*\(/o)
310 0 0 if ($title =~ s/\s+\((\d\d\d\d)\)$//o or $title =~ s[\s+\((\d\d\d\d)/[IVXL]+\)$][]o) { }
0 0 elsif ($title =~ s/\s+\((\?\?\?\?)\)$//o or $title =~ s[\s+\((\?\?\?\?)/[IVXL]+\)$][]o) { }
313 0 0 if (not defined $year) { }
323 0 0 if (not defined $year) { }
334 0 0 if (not defined $year) { }
344 0 0 if ($hash{'qualifier'} == 13 or $hash{'qualifier'} == 12) { }
350 0 0 if (not defined $hash{'title'}) { }
378 0 0 if (/^MOVIES LIST/o) { }
0 0 elsif ($lineCount > 1000) { }
379 0 0 unless ($_ = <$fh> and /^===========/o)
384 0 0 unless ($_ = <$fh> and /^\s*$/o)
398 0 0 if $$self{'showProgressBar'}
403 0 0 if $$self{'showProgressBar'}
404 0 0 if $$self{'showProgressBar'}
419 0 0 if $line =~ /^\-\-\-\-\-\-\-+/o
421 0 0 if $line =~ /\{\{SUSPENDED\}\}/o
430 0 0 if ($tab != -1) { }
432 0 0 if ($ykey = /\s+(\d\d\d\d)$/) { }
0 0 elsif ($ykey = /\s+(\?\?\?\?)$/) { }
0 0 elsif ($ykey = /\s+(\d\d\d\d)\-(\?\?\?\?)$/) { }
0 0 elsif ($ykey = /\s+(\d\d\d\d)\-(\d\d\d\d)$/) { }
473 0 0 if ($$self{'showProgressBar'})
475 0 0 if ($count > $countEstimate) { }
0 0 elsif ($count > $next_update) { }
490 0 0 if $$self{'showProgressBar'}
509 0 0 if (/^8: THE GENRES LIST/o) { }
0 0 elsif ($lineCount > 1000) { }
510 0 0 unless ($_ = <$fh> and /^===========/o)
515 0 0 unless ($_ = <$fh> and /^\s*$/o)
529 0 0 if $$self{'showProgressBar'}
534 0 0 if $$self{'showProgressBar'}
535 0 0 if $$self{'showProgressBar'}
550 0 0 if $line =~ /^\-\-\-\-\-\-\-+/o
551 0 0 if $line =~ /\s*\{\{SUSPENDED\}\}/o
558 0 0 if ($tab != -1) { }
573 0 0 if ($$self{'imdbMovie2DBKey'}{$mkey})
575 0 0 unless (defined $$self{'GenreID'}{$genre})
584 0 0 if ($count % 50000 == 0)
589 0 0 if ($$self{'showProgressBar'})
591 0 0 if ($count > $countEstimate) { }
0 0 elsif ($count > $next_update) { }
606 0 0 if $$self{'showProgressBar'}
621 0 0 if ($whichCastType eq 'Actors')
622 0 0 if ($DB->table_row_count('Actors') > 0 or $DB->table_row_count('Titles2Actors') > 0 or $DB->table_row_count('Titles2Hosts') > 0 or $DB->table_row_count('Titles2Narrators') > 0)
638 0 0 if ($whichCastType eq 'Actors') { }
0 0 elsif ($whichCastType eq 'Actresses') { }
651 0 0 if $$self{'showProgressBar'}
655 0 0 if $$self{'showProgressBar'}
656 0 0 if $$self{'showProgressBar'}
661 0 0 if (/^$header/) { }
0 0 elsif ($lineCount > 1000) { }
662 0 0 unless ($_ = <$fh> and /^===========/o)
667 0 0 unless ($_ = <$fh> and /^\s*$/o)
672 0 0 unless ($_ = <$fh> and /^Name\s+Titles\s*$/o)
677 0 0 unless ($_ = <$fh> and /^[\s\-]+$/o)
700 0 0 unless (defined $cur_actorId)
712 0 0 if $line =~ /^\-\-\-\-\-\-\-+/o
714 0 0 if length $line == 0
717 0 0 if $line =~ /\s*\{\{SUSPENDED\}\}/o
723 0 0 if ($line =~ s/\s*<(\d+)>//o)
725 0 0 if $billing > 3
728 0 0 if ($line =~ s/^([^\t]+)\t+//o)
738 0 0 if ($$self{'showProgressBar'})
740 0 0 if ($castNames > $castCountEstimate) { }
0 0 elsif ($castNames > $next_update) { }
752 0 0 if ((my $start = index($line, ' [')) != -1)
756 0 0 if ($ex =~ s/Host//o)
759 0 0 if ($ex =~ s/Narrator//o)
767 0 0 if ($line =~ s/\s*\(aka ([^\)]+)\).*$//o)
772 0 0 if ($line =~ s/ (\(.*)$//o)
779 0 0 if ($line =~ s/\s+Narrator$//o)
789 0 0 if ($titleID) { }
790 0 0 if ($isHost)
793 0 0 if ($isNarrator)
796 0 0 unless ($isHost or $isNarrator)
801 0 0 if ($count % 50000 == 0)
809 0 0 if $$self{'showProgressBar'}
827 0 0 if ($DB->table_row_count('Directors') > 0 or $DB->table_row_count('Titles2Directors') > 0)
835 0 0 if $$self{'showProgressBar'}
839 0 0 if $$self{'showProgressBar'}
840 0 0 if $$self{'showProgressBar'}
844 0 0 if (/^THE DIRECTORS LIST/) { }
0 0 elsif ($lineCount > 1000) { }
845 0 0 unless ($_ = <$fh> and /^===========/o)
850 0 0 unless ($_ = <$fh> and /^\s*$/o)
855 0 0 unless ($_ = <$fh> and /^Name\s+Titles\s*$/o)
860 0 0 unless ($_ = <$fh> and /^[\s\-]+$/o)
892 0 0 if $line =~ /^\-\-\-\-\-\-\-+/o
893 0 0 if length $line == 0
896 0 0 if $line =~ /\s*\{\{SUSPENDED\}\}/o
900 0 0 if ($line =~ s/^([^\t]+)\t+//o)
904 0 0 if ($$self{'showProgressBar'})
906 0 0 if ($castNames > $castCountEstimate) { }
0 0 elsif ($castNames > $next_update) { }
927 0 0 if ($line =~ s/ (\(.*)$//o)
934 0 0 if ($$self{'imdbMovie2DBKey'}{$line}) { }
936 0 0 unless (defined $found{$cur_name})
947 0 0 if ($count % 50000 == 0)
955 0 0 if $$self{'showProgressBar'}
972 0 0 if ($DB->table_row_count('Ratings') > 0)
980 0 0 if (/^MOVIE RATINGS REPORT/o) { }
0 0 elsif ($lineCount > 1000) { }
981 0 0 unless ($_ = <$fh> and /^\s*$/o)
986 0 0 unless ($_ = <$fh> and /^New Distribution Votes Rank Title/o)
1000 0 0 if $$self{'showProgressBar'}
1005 0 0 if $$self{'showProgressBar'}
1006 0 0 if $$self{'showProgressBar'}
1021 0 0 if $line =~ /^\s*$/o
1023 0 0 if $line =~ /^\-\-\-\-\-\-\-+/o
1029 0 0 if ($line =~ /^\s+([\.|\*|\d]+)\s+(\d+)\s+(\d+\.\d+)\s+(.+)$/o) { }
1031 0 0 if ($$self{'imdbMovie2DBKey'}{$4})
1034 0 0 if ($countImported % 50000 == 0)
1042 0 0 if ($$self{'showProgressBar'})
1044 0 0 if ($count > $countEstimate) { }
0 0 elsif ($count > $next_update) { }
1057 0 0 if $$self{'showProgressBar'}
1074 0 0 if ($DB->table_row_count('Keywords') > 0)
1083 0 0 if (/THE KEYWORDS LIST/) { }
0 0 elsif ($lineCount > 200000) { }
1084 0 0 unless ($_ = <$fh> and /^===========/o)
1089 0 0 unless ($_ = <$fh> and /^\s*$/o)
1103 0 0 if $$self{'showProgressBar'}
1108 0 0 if $$self{'showProgressBar'}
1109 0 0 if $$self{'showProgressBar'}
1124 0 0 if $line =~ /^\s*$/
1129 0 0 if (defined $title and defined $keyword) { }
1133 0 0 if ($$self{'imdbMovie2DBKey'}{$title})
1134 0 0 unless (defined $found{$keyword})
1145 0 0 if ($countImported % 50000 == 0)
1150 0 0 if ($$self{'showProgressBar'})
1152 0 0 if ($count > $countEstimate) { }
0 0 elsif ($count > $next_update) { }
1165 0 0 if $$self{'showProgressBar'}
1181 0 0 if ($DB->table_row_count('Plots') > 0)
1190 0 0 if (/PLOT SUMMARIES LIST/) { }
0 0 elsif ($lineCount > 500) { }
1191 0 0 unless ($_ = <$fh> and /^===========/o)
1196 0 0 unless ($_ = <$fh> and /^-----------/o)
1210 0 0 if $$self{'showProgressBar'}
1215 0 0 if $$self{'showProgressBar'}
1216 0 0 if $$self{'showProgressBar'}
1226 0 0 if $line =~ /^\s*$/
1227 0 0 if $line =~ /\s*\{\{SUSPENDED\}\}/o
1232 0 0 if (defined $title) { }
1243 0 0 if $l =~ /^\s*$/
1245 0 0 if ($l =~ /PL:\s(.*)$/)
1246 0 0 $plot ne '' ? :
1249 0 0 if ($l =~ /BY:\s(.*)$/ or $l =~ /^(\-\-\-\-\-\-\-\-)/o)
1253 0 0 if ($token eq '--------')
1254 0 0 if ($plot eq '')
1260 0 0 if ($$self{'imdbMovie2DBKey'}{$line}) { }
1264 0 0 if ($count % 50000 == 0)
1275 0 0 if ($token eq '--------')
1281 0 0 if (length $plot)
1285 0 0 if ($$self{'showProgressBar'})
1287 0 0 if ($count > $countEstimate) { }
0 0 elsif ($count > $next_update) { }
1297 0 0 unless ($line =~ /^(---|PL:|BY:)/)
1301 0 0 if ($count > $next_update)
1302 0 0 if ($$self{'showProgressBar'})
1309 0 0 if $$self{'showProgressBar'}
1324 0 0 unless open INFO, "< $file"
1327 0 0 if (s/^([^:]+)://o)
1340 0 0 if (ref $info ne 'HASH')
1356 0 0 if (defined $$self{'dbinfo'}{$key})
1365 0 0 unless open INFO, "> $$self{'moviedbInfo'}"
1378 0 0 unless (defined $$self{'listFiles'}->paths_isset($key))
1382 0 0 unless (-f $filePath)
1389 0 0 if ($filePath =~ /.gz$/)
1390 0 0 if (open my $fd, "gzip -l $filePath |") { }
1395 0 0 if (/^\s*\d+\s+(\d+)/)
1413 0 0 if (defined $file) { }
1414 0 0 unless (open $$self{'logfd'}, "> $file")
1437 0 0 if (-f "$$self{'imdbDir'}/stage-$type.log")
1450 0 0 if ($type eq 'movies')
1460 0 0 unless ($self->_redirect(sprintf("%s/stage-$type.log", $$self{'imdbDir'})))
1464 0 0 unless ($DB->connect)
1488 0 0 unless (grep /^$type$/, $self->listTypes)
1523 0 0 unless (-f $$self{'listFiles'}->paths_index($type))
1528 0 0 if ($type eq 'movies')
1535 0 0 if ($num < 0) { }
0 0 elsif (abs $num - $countEstimate > $countEstimate * 0.1) { }
1536 0 0 if ($num == -2)
1546 0 0 unless open OUT, "> $$self{'imdbDir'}/titles.tsv"
1561 0 0 unless (defined $$self{'imdbMovie2DBKey'})
1565 0 0 unless open IN, "< $$self{'imdbDir'}/titles.tsv"
1568 0 0 if (/^(\d+)\t(.+)/o)
1577 0 0 if ($type eq 'directors')
1584 0 0 if ($num < 0) { }
0 0 elsif (abs $num - $countEstimate > $countEstimate * 0.1) { }
1585 0 0 if ($num == -2)
1602 0 0 if ($type eq 'actors')
1610 0 0 if ($num < 0) { }
0 0 elsif (abs $num - $countEstimate > $countEstimate * 0.1) { }
1611 0 0 if ($num == -2)
1624 0 0 if ($type eq 'actresses')
1628 0 0 if ($num < 0) { }
0 0 elsif (abs $num - $countEstimate > $countEstimate * 0.1) { }
1629 0 0 if ($num == -2)
1646 0 0 if ($type eq 'genres')
1652 0 0 if ($num < 0) { }
0 0 elsif (abs $num - $countEstimate > $countEstimate * 0.1) { }
1653 0 0 if ($num == -2)
1670 0 0 if ($type eq 'ratings')
1676 0 0 if ($num < 0) { }
0 0 elsif (abs $num - $countEstimate > $countEstimate * 0.1) { }
1677 0 0 if ($num == -2)
1694 0 0 if ($type eq 'keywords')
1701 0 0 if ($num < 0) { }
0 0 elsif (abs $num - $countEstimate > $countEstimate * 0.05) { }
1702 0 0 if ($num == -2)
1720 0 0 if ($type eq 'plot')
1725 0 0 if ($num < 0) { }
0 0 elsif (abs $num - $countEstimate > $countEstimate * 0.05) { }
1726 0 0 if ($num == -2)
1765 0 0 if ($self->_importListFile($DB, $type) != 0)
1790 0 0 if ($self->importList($type) != 0)
1809 0 0 unless ($DB->connect)
1824 0 0 if ($self->dbinfoSave)
1833 0 0 if (-e "$$self{'moviedbOffline'}")
1837 0 0 if (my $errline = $imdb->sanityCheckDatabase)
1838 0 0 unless open OFF, "> $$self{'moviedbOffline'}"
1844 0 0 if (ref $info eq 'HASH') { }
1855 0 0 unless open OFF, "< $$self{'moviedbOffline'}"