my $marc = populate_marc($record, $id);
$marc = normalize_marc($marc);
-
- unless ($marc->{item_form} and ($marc->{date1} =~ /\d{4}/) and
- $marc->{record_type} and $marc->{bib_lvl} and $marc->{title}) {
- print XF "Record ", $marc->{id}, " did not make the cut: ";
- print XF "Missing item_form. " unless ($marc->{item_form});
- print XF "Missing valid date1. "
- unless (defined $marc->{date1} and $marc->{date1} =~ /\d{4}/);
- print XF "Missing record_type. " unless ($marc->{record_type});
- print XF "Missing bib_lvl. " unless ($marc->{bib_lvl});
- print XF "Missing title. " unless ($marc->{title});
- print XF "\n";
- next;
- }
-
+ unless (marc_isvalid($marc))
+ { dump_exception($marc); next; }
dump_fingerprints($marc);
}
}
+=head2 marc_isvalid
+
+Checks MARC record to see if neccessary fingerprinting data is
+available
+
+=cut
+
+sub marc_isvalid {
+ my ($marc) = @_;
+ return 1 if ($marc->{item_form} and ($marc->{date1} =~ /\d{4}/) and
+ $marc->{record_type} and $marc->{bib_lvl} and $marc->{title});
+ return 0;
+}
+
+
=head2 dump_fingerprints
=cut
}
+
+=head2 dump_exception
+
+Write line of exception report
+
+=cut
+
+sub dump_exception {
+ my ($marc) = @_;
+ print XF "Record ", $marc->{id}, " did not make the cut: ";
+ print XF "Missing item_form. " unless ($marc->{item_form});
+ print XF "Missing valid date1. "
+ unless (defined $marc->{date1} and $marc->{date1} =~ /\d{4}/);
+ print XF "Missing record_type. " unless ($marc->{record_type});
+ print XF "Missing bib_lvl. " unless ($marc->{bib_lvl});
+ print XF "Missing title. " unless ($marc->{title});
+ print XF "\n";
+}
+
+
=head2 initialyze
Performs boring script initialization. Handles argument parsing,