[Koha-patches] [PATCH] Revisions to auto-generated authorities patch

Joe Atzberger joe.atzberger at liblime.com
Fri Apr 24 21:54:44 CEST 2009


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 <brian at jhu.edu> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/koha-patches/attachments/20090424/7bd7eb1a/attachment-0002.htm>


More information about the Koha-patches mailing list