/[webpac2]/trunk/lib/WebPAC/Normalize.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/WebPAC/Normalize.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1016 by dpavlin, Thu Nov 8 17:29:03 2007 UTC revision 1019 by dpavlin, Sat Nov 10 00:05:36 2007 UTC
# Line 815  sub marc_original_order { Line 815  sub marc_original_order {
815          return unless defined($rec->{$from});          return unless defined($rec->{$from});
816    
817          my $r = $rec->{$from};          my $r = $rec->{$from};
818          die "record field $from isn't array\n" unless (ref($r) eq 'ARRAY');          die "record field $from isn't array ",dump( $rec ) unless (ref($r) eq 'ARRAY');
819    
820          my ($i1,$i2) = defined($marc_indicators->{$to}) ? @{ $marc_indicators->{$to} } : (' ',' ');          my ($i1,$i2) = defined($marc_indicators->{$to}) ? @{ $marc_indicators->{$to} } : (' ',' ');
821          warn "## marc_original_order($to,$from) source = ", dump( $r ),$/ if ($debug > 1);          warn "## marc_original_order($to,$from) source = ", dump( $r ),$/ if ($debug > 1);
# Line 873  sub marc_template { Line 873  sub marc_template {
873                  die "$_ not ARRAY" if ref($args->{$_}) ne 'ARRAY';                  die "$_ not ARRAY" if ref($args->{$_}) ne 'ARRAY';
874          }          }
875    
876          my $r = $rec->{ $args->{from} }; # || return;          my $r = $rec->{ $args->{from} } || return;
877          die "record field ", $args->{from}, " isn't array\n" unless (ref($r) eq 'ARRAY');          die "record field ", $args->{from}, " isn't array ",dump( $rec ) unless (ref($r) eq 'ARRAY');
878    
879          my @subfields_rename = @{ $args->{subfields_rename} };          my @subfields_rename = @{ $args->{subfields_rename} };
880  #       warn "### subfields_rename [$#subfields_rename] = ",dump( @subfields_rename );  #       warn "### subfields_rename [$#subfields_rename] = ",dump( @subfields_rename );
# Line 933  sub marc_template { Line 933  sub marc_template {
933    
934                  my ( $new_r, $from_count, $to_count );                  my ( $new_r, $from_count, $to_count );
935                  foreach my $sf ( keys %{$r} ) {                  foreach my $sf ( keys %{$r} ) {
936                            # skip everything which isn't one char subfield (e.g. 'subfields')
937                            next unless $sf =~ m/^\w$/;
938                          my $nr = $from_count->{$sf}++;                          my $nr = $from_count->{$sf}++;
939                          my $rename_to = $subfields_rename->{ $sf };     # ||                          my $rename_to = $subfields_rename->{ $sf } ||
940  #                               die "can't find subfield rename for $sf/$nr in ", dump( $subfields_rename );                                  die "can't find subfield rename for $sf/$nr in ", dump( $subfields_rename );
941                          warn "### rename $sf/$nr to ", dump( $rename_to->[$nr] ), $/;                          warn "### rename $sf/$nr to ", dump( $rename_to->[$nr] ), $/;
942                          my ( $to_sf, $to_nr ) = @{ $rename_to->[$nr] };                          my ( $to_sf, $to_nr ) = @{ $rename_to->[$nr] };
943                          $new_r->{ $to_sf }->[ $to_nr ] = [ $sf => $nr ];                          $new_r->{ $to_sf }->[ $to_nr ] = [ $sf => $nr ];
# Line 957  sub marc_template { Line 959  sub marc_template {
959    
960                  $fill_in = {};                  $fill_in = {};
961    
962                  foreach my $sf ( split(/\|/, $template ) ) {                  my @templates = split(/\|/, $template );
963                    @templates = ( $template );
964    
965                    foreach my $sf ( @templates ) {
966                          sub fill_in {                          sub fill_in {
967                                  my ( $r, $sf, $nr ) = @_;                                  my ( $r, $sf, $nr ) = @_;
968                                  my ( $from_sf, $from_nr ) = @{ $new_r->{ $sf }->[ $nr ] };                                  my ( $from_sf, $from_nr ) = @{ $new_r->{ $sf }->[ $nr ] };

Legend:
Removed from v.1016  
changed lines
  Added in v.1019

  ViewVC Help
Powered by ViewVC 1.1.26