projects
/
Biblio-Z3950.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1a7d2e2
)
fix skipping of fields >= 900
author
Dobrica Pavlinusic
<dpavlin@rot13.org>
Thu, 6 Mar 2014 15:38:30 +0000
(16:38 +0100)
committer
Dobrica Pavlinusic
<dpavlin@rot13.org>
Thu, 6 Mar 2014 15:38:30 +0000
(16:38 +0100)
AlephTR.pm
patch
|
blob
|
history
diff --git
a/AlephTR.pm
b/AlephTR.pm
index
611cd44
..
134c669
100644
(file)
--- a/
AlephTR.pm
+++ b/
AlephTR.pm
@@
-129,13
+129,9
@@
warn "parse $nr";
my $html = $mech->content;
my $html = $mech->content;
-#diag $html;
-
sub field {
my ( $f, $v ) = @_;
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";
$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) = (' ',' ');
}
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 ||= ' ';
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 "## ++ ", dump( $f, $i1, $i2, @sf );
- };
- warn "SKIP: $@" if $@;
}
}
- $html =~ s|<tr>\s*?<td[^>]*class=td1[^>]*>(.+?)</td>\s*?<td class=td1>(.+?)</td>\s*</tr>|field($1,$2)|ges;
+ $html =~ s|<tr>\s*?<td[^>]*class=td1[^>]*>(.+?)</td>\s*?<td class=td1>(.+?)</td>\s*?</tr>|field($1,$2)|ges;
+
diag "# hash ",dump($hash);
diag "# marc ", $marc->as_formatted;
diag "# hash ",dump($hash);
diag "# marc ", $marc->as_formatted;