[RT17143] Fixed create_date parsing
authorLiam Whalen <liam.whalen@bc.libraries.coop>
Tue, 27 Oct 2015 23:06:35 +0000 (16:06 -0700)
committerLiam Whalen <liam.whalen@bc.libraries.coop>
Tue, 27 Oct 2015 23:06:35 +0000 (16:06 -0700)
The value used to fill 008/00-05 is taken from bre.create_date.
However, the code parsing the bre.create_date was selecting a four digit
year when it should have been selecting a two digit year.  This is now
corrected.

Signed-off-by: Liam Whalen <liam.whalen@bc.libraries.coop>
data_cleanup/date1/date1_cleanup.pl

index 6f50771..8911039 100644 (file)
@@ -52,8 +52,8 @@ $dbh->disconnect;
 
 sub clean_date1_records {
     my ($dbh) = @_;
-
-    # Get list of server languages
+    
+    #Get a list of records with bad 008 date1 values.
     my $sth = $dbh->prepare("SELECT DISTINCT mrfr.record
         FROM metabib.real_full_rec mrfr INNER JOIN biblio.record_entry bre ON mrfr.record = bre.id
         INNER JOIN asset.call_number acn ON bre.id = acn.record
@@ -77,7 +77,7 @@ sub clean_date1_records {
         my ($xml, $create_date) = get_marc_by_id($authtoken, $record_id);    
         $marc = MARC::Record->new_from_xml($xml, 'UTF-8');
 
-        my ($year, $month, $day) = $create_date =~ /(\d+)-(\d+)-(\d*)/;
+        my ($year, $month, $day) = $create_date =~ /\d\d(\d\d)-(\d\d)-(\d\d)/;
 
         my $date_entered = "$year$month$day";