321 |
} else { |
} else { |
322 |
$display_data .= $ldel if ($display_data); |
$display_data .= $ldel if ($display_data); |
323 |
my $tmp = mkformat($x,$display); |
my $tmp = mkformat($x,$display); |
324 |
$display_data = $tmp if ($tmp); |
$display_data .= $tmp if ($tmp); |
325 |
} |
} |
326 |
} |
} |
327 |
|
|
592 |
#tie %lhash, 'GDBM_File', $lookup_file, &GDBM_NEWDB, 0644; |
#tie %lhash, 'GDBM_File', $lookup_file, &GDBM_NEWDB, 0644; |
593 |
tie %lhash, 'TDB_File', $lookup_file, TDB_CLEAR_IF_FIRST, O_RDWR, 0644; |
tie %lhash, 'TDB_File', $lookup_file, TDB_CLEAR_IF_FIRST, O_RDWR, 0644; |
594 |
print STDERR "creating lookup file '$lookup_file'\n"; |
print STDERR "creating lookup file '$lookup_file'\n"; |
595 |
|
# delete memory cache for lookup file |
596 |
|
delete $cache->{lhash}; |
597 |
} |
} |
598 |
|
|
599 |
# open existing lookup file |
# open existing lookup file |
791 |
my $marc_file = $cfg -> val($database, 'marc_file') || die "$database doesn't have 'marc_file' defined!"; |
my $marc_file = $cfg -> val($database, 'marc_file') || die "$database doesn't have 'marc_file' defined!"; |
792 |
|
|
793 |
# optional argument is format |
# optional argument is format |
794 |
my $format = x($config->{format}) || 'usmarc'; |
my $format = x($config->{marc_format}) || 'usmarc'; |
795 |
|
|
796 |
print STDERR "Reading MARC file '$marc_file'\n"; |
print STDERR "Reading MARC file '$marc_file'\n"; |
797 |
|
|
798 |
my $marc = new MARC; |
my $marc = new MARC; |
799 |
my $nr = $marc->openmarc({ |
my $nr = $marc->openmarc({ |
800 |
file=>$marc_file, format=>$format |
file=>$marc_file, format=>$format |
801 |
}) || die "Can't open MARC file '$marc_file'"; |
}) || die "Can't open MARC file '$marc_file' with format '$format'"; |
802 |
|
|
803 |
my $i=0; # record nr. |
# read MARC file in memory |
804 |
|
$marc->nextmarc(-1); |
805 |
|
|
806 |
my $rec; |
my $max_rec = $marc->marc_count(); |
807 |
|
|
808 |
while ($marc->nextmarc(1)) { |
for(my $i=1; $i<=$max_rec; $i++) { |
809 |
|
|
810 |
# XXX |
progress($i,$max_rec); |
811 |
fakeprogress($i++); |
|
812 |
|
# store value for marc_sf.pm |
813 |
|
$main::cache->{marc_record} = $i; |
814 |
|
|
815 |
my $swishpath = $database."#".$i; |
my $swishpath = $database."#".$i; |
816 |
|
|
822 |
print "Document-Type: XML\n\n$xml\n"; |
print "Document-Type: XML\n\n$xml\n"; |
823 |
} |
} |
824 |
} |
} |
825 |
|
|
826 |
|
print STDERR "\n"; |
827 |
|
|
828 |
} elsif ($type_base eq "feed") { |
} elsif ($type_base eq "feed") { |
829 |
|
|
830 |
$import2cp = Text::Iconv->new($config->{feed_codepage},$codepage); |
$import2cp = Text::Iconv->new($config->{feed_codepage},$codepage); |