projects
/
Biblio-Z3950.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ignore ssl certificate errors
[Biblio-Z3950.git]
/
AlephTR.pm
diff --git
a/AlephTR.pm
b/AlephTR.pm
index
16f4dfa
..
be3e110
100644
(file)
--- a/
AlephTR.pm
+++ b/
AlephTR.pm
@@
-129,10
+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 ) = @_;
+
$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";
@@
-149,21
+148,24
@@
warn "## $f\t[$v]\n";
}
if ( $v !~ s/^\|// ) { # no subfields
}
if ( $v !~ s/^\|// ) { # no subfields
- $marc->add_fields( $f, $v );
+ $marc->add_fields( $f, $v )
unless $f >= 900
;
warn "## ++ ", dump( $f, $v );
return;
}
my ($i1,$i2) = (' ',' ');
warn "## ++ ", dump( $f, $v );
return;
}
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);
my @sf = split(/\|/, $v);
@sf = map { s/^(\w)\s+//; { $1 => $_ } } @sf;
#warn "## sf = ", dump(@sf);
- $marc->add_fields( $f, $i1, $i2, @sf );
+ $i1 ||= ' ';
+ $i2 ||= ' ';
+ $marc->add_fields( $f, $i1, $i2, @sf ) unless $f >= 900;
warn "## ++ ", dump( $f, $i1, $i2, @sf );
}
warn "## ++ ", dump( $f, $i1, $i2, @sf );
}
- $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;