From 0bba87180282519f469d7696c3efed63a38e955c Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Thu, 6 Mar 2014 16:38:30 +0100 Subject: [PATCH] fix skipping of fields >= 900 --- AlephTR.pm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/AlephTR.pm b/AlephTR.pm index 611cd44..134c669 100644 --- a/AlephTR.pm +++ b/AlephTR.pm @@ -129,13 +129,9 @@ warn "parse $nr"; my $html = $mech->content; -#diag $html; - sub field { my ( $f, $v ) = @_; - return if $f >= 900; # skip local fields - $v =~ s/\Q \E/ /gs; $v =~ s/\s+$//gs; warn "## $f\t[$v]\n"; @@ -158,20 +154,18 @@ warn "## ++ ", dump( $f, $v ); } my ($i1,$i2) = (' ',' '); - ($i1,$i2) = ($2,$3) if $f =~ s/^(...)(.)(.)?/$1/; + ($i1,$i2) = ($2,$3) if $f =~ s/^(...)(.)?(.)?/$1/; my @sf = split(/\|/, $v); @sf = map { s/^(\w)\s+//; { $1 => $_ } } @sf; #warn "## sf = ", dump(@sf); $i1 ||= ' '; $i2 ||= ' '; - eval { - $marc->add_fields( $f, $i1, $i2, @sf ); + $marc->add_fields( $f, $i1, $i2, @sf ) unless $f >= 900; warn "## ++ ", dump( $f, $i1, $i2, @sf ); - }; - warn "SKIP: $@" if $@; } - $html =~ s|\s*?]*class=td1[^>]*>(.+?)\s*?(.+?)\s*|field($1,$2)|ges; + $html =~ s|\s*?]*class=td1[^>]*>(.+?)\s*?(.+?)\s*?|field($1,$2)|ges; + diag "# hash ",dump($hash); diag "# marc ", $marc->as_formatted; -- 2.20.1