I think SetMarcUnicodeFlag should stay, in part because BiblioAddAuthorities() should move to a C4 .pm and be used by other scripts.
In fact, SetMarcUnicodeFlag should be called earlier in the sub, before any add_subfields() or field assignments, to avoid munging unicode data. -- Joe Atzberger LibLime - Open Source Library Solutions On Fri, Apr 24, 2009 at 2:39 PM, Brian Harrington <[email protected]> wrote: > It turns out that the "blank" record created by MARC::Record->new() > has a leader, so now I explicitly create one in addbiblio.pl. I > also realized I can't count. :-) > --- > C4/AuthoritiesMarc.pm | 2 +- > cataloguing/addbiblio.pl | 9 ++++++--- > 2 files changed, 7 insertions(+), 4 deletions(-) > > diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm > index 644f53d..bd768f5 100644 > --- a/C4/AuthoritiesMarc.pm > +++ b/C4/AuthoritiesMarc.pm > @@ -522,7 +522,7 @@ sub AddAuthority { > # pass the MARC::Record to this function, and it will create the records > in the authority table > my ($record,$authid,$authtypecode) = @_; > my $dbh=C4::Context->dbh; > - my $leader=' nz a22 o 4500';#Leader for incomplete MARC21 > record > + my $leader=' nz a22 o 4500';#Leader for incomplete MARC21 > record > > # if authid empty => true add, find a new authid number > my $format= 'UNIMARCAUTH' if (uc(C4::Context->preference('marcflavour')) > eq 'UNIMARC'); > diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl > index 9bcf88b..81ff3b0 100755 > --- a/cataloguing/addbiblio.pl > +++ b/cataloguing/addbiblio.pl > @@ -789,11 +789,14 @@ AND (authtypecode IS NOT NULL AND > authtypecode<>\"\")|); > # FIXME: AddAuthority() instead should simply explicitly require > that the MARC::Record > # use UTF-8, but as of 2008-08-05, did not want to introduce that > kind > # of change to a core API just before the 3.0 release. > - if (C4::Context->preference('marcflavour') eq 'MARC21') { > - SetMarcUnicodeFlag($marcrecordauth, 'MARC21'); > - } > + # > + # This isn't needed if we set the UTF flag in the leader below > + #if (C4::Context->preference('marcflavour') eq 'MARC21') { > + # SetMarcUnicodeFlag($marcrecordauth, 'MARC21'); > + # } > > if (C4::Context->preference('marcflavour') > eq 'MARC21') { > + $marcrecordauth->leader(' nz > a22 o 4500'); > > > $marcrecordauth->insert_fields_ordered(MARC::Field->new('667','','','a'=>"Machine > generated authority record.")); > my $cite = $record->author() . ", " > . $record->title_proper() . ", " . $record->publication_date() . " "; > $cite =~ s/^[\s\,]*//; > -- > 1.5.6.3 >
_______________________________________________ Koha-patches mailing list [email protected] http://lists.koha.org/mailman/listinfo/koha-patches
