[Koha-cvs] koha/misc marc_into_authority.pl
Tumer Garip
tgarip at neu.edu.tr
Fri May 19 23:39:53 CEST 2006
CVSROOT: /sources/koha
Module name: koha
Branch:
Changes by: Tumer Garip <tgarip1957 at savannah.gnu.org> 06/05/19 21:39:53
Modified files:
misc : marc_into_authority.pl
Log message:
Old authorities did not contain authid in marc record. Add it
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/koha/misc/marc_into_authority.pl.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
Patches:
Index: koha/misc/marc_into_authority.pl
diff -u koha/misc/marc_into_authority.pl:1.1 koha/misc/marc_into_authority.pl:1.2
--- koha/misc/marc_into_authority.pl:1.1 Fri May 19 19:07:09 2006
+++ koha/misc/marc_into_authority.pl Fri May 19 21:39:52 2006
@@ -9,6 +9,7 @@
use MARC::Record;
use MARC::File::USMARC;
use MARC::File::XML;
+use C4::AuthoritiesMarc;
use Time::HiRes qw(gettimeofday);
my $timeneeded;
my $starttime = gettimeofday;
@@ -41,7 +42,12 @@
while (my ($authid,$authtypecode)=$sth->fetchrow ){
- my $record = AUTHgetauthority($dbh,$authid);
+ my $record = AUTHgetauthorityold($dbh,$authid);
+##Add authid and authtypecode to record. Old records did not have these fields
+my ($authidfield,$authidsubfield)=AUTHfind_marc_from_kohafield($dbh,"auth_header.authid",$authtypecode);
+my ($authidfield,$authtypesubfield)=AUTHfind_marc_from_kohafield($dbh,"auth_header.authtypecode",$authtypecode);
+##Both authid and authtypecode is expected to be in the same field. Modify if other requirements arise
+ $record->add_fields($authfield,'','',$authidsubfield=>$authid,$authtypesubfield=>$authtypecode);
$sth2->execute($record->as_usmarc,$authid);
$timeneeded = gettimeofday - $starttime unless ($i % 1000);
print "$i in $timeneeded s\n" unless ($i % 1000);
@@ -50,7 +56,7 @@
}
$dbh->do("UNLOCK TABLES ");
-sub AUTHgetauthority {
+sub AUTHgetauthorityold {
# Returns MARC::Record of the biblio passed in parameter.
my ($dbh,$authid)=@_;
my $record = MARC::Record->new();
More information about the Koha-cvs
mailing list