added Case Poo for record so crappy they don't meet any of the other cases
authorShawn Boyette <sboyette@esilibrary.com>
Thu, 6 Nov 2008 16:01:32 +0000 (16:01 +0000)
committerShawn Boyette <sboyette@esilibrary.com>
Thu, 6 Nov 2008 16:01:32 +0000 (16:01 +0000)
fingerprinter

index 681ca46..eeac277 100755 (executable)
@@ -210,6 +210,7 @@ sub marc_isvalid {
 
 sub dump_fingerprints {
     my ($marc) = @_;
+    my $good_fp = 0;
 
     if ($conf->{runtype} eq "primary") {
         print OF join("\t",$marc->{id}, $marc->{item_form},
@@ -225,9 +226,9 @@ sub dump_fingerprints {
                                   $marc->{bib_lvl}, $marc->{title},
                                   $isbn, $marc->{pages}), "\n";
             }
+            $good_fp = 1;
         }
 
-
 =pod
 
 Looks like case b isn't a terribly good idea most of the time -- it
@@ -239,6 +240,7 @@ for now, simply turning it off.
                               $marc->{item_form}, $marc->{date1},
                               $marc->{record_type}, $marc->{bib_lvl},
                               $marc->{title}, $marc->{edition}), "\n";
+            $good_fp = 1;
         }
 
 =cut
@@ -248,6 +250,7 @@ for now, simply turning it off.
                               $marc->{item_form}, $marc->{date1},
                               $marc->{record_type}, $marc->{bib_lvl},
                               $marc->{title}, $marc->{issn}), "\n";
+            $good_fp = 1;
         }
 
         if ($marc->{lccn}) { # case d : lccn
@@ -255,6 +258,7 @@ for now, simply turning it off.
                               $marc->{item_form}, $marc->{date1},
                               $marc->{record_type}, $marc->{bib_lvl},
                               $marc->{title}, $marc->{lccn}) ,"\n";
+            $good_fp = 1;
         }
 
         if ($marc->{accomp}) { # case e : accomp
@@ -262,6 +266,7 @@ for now, simply turning it off.
                               $marc->{item_form}, $marc->{date1},
                               $marc->{record_type}, $marc->{bib_lvl},
                               $marc->{title}, $marc->{accomp}) ,"\n";
+            $good_fp = 1;
         }
 
         # case o: oclc
@@ -272,6 +277,7 @@ for now, simply turning it off.
                               $marc->{record_type}, $marc->{bib_lvl},
                               $marc->{title}, $_, "\n");
             }
+            $good_fp = 1;
         }
 
         # case z : author, publisher, pubyear, pages
@@ -283,6 +289,14 @@ for now, simply turning it off.
                               $marc->{title}, $marc->{author},
                               $marc->{publisher}, $marc->{pubyear},
                               $marc->{pages}), "\n";
+            $good_fp = 1;
+        }
+
+        # case poo : nothing good; dump a primary and move on
+        unless ($good_fp) {
+            print OF join("\t", $marc->{id}, "case poo", $marc->{item_form},
+                          $marc->{date1}, $marc->{record_type},
+                          $marc->{bib_lvl}, $marc->{title}), "\n";
         }
     }
 }