From: Marijana Glavica Date: Mon, 6 Jan 2014 18:26:59 +0000 (+0100) Subject: 773 and country X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;h=e291e7dbeba12d8570240a1773c9ad2b1a2482af;hp=d8b8be295294b0988ce5fc60445be6b35d221d61;p=webpac2 773 and country --- diff --git a/conf/bibliografija/biblio.pl b/conf/bibliografija/biblio.pl index b26129b..39440f0 100644 --- a/conf/bibliografija/biblio.pl +++ b/conf/bibliografija/biblio.pl @@ -2,6 +2,66 @@ if ( rec('942','u') ) { marc_clone(); +marc_remove('008'); + +marc_fixed('008','00', + substr( rec('008'), 0, 14 ) +); + +my $zemlja = + lookup( + sub { rec('A') }, + 'rbaze','zemlja', + sub { rec('C') }, + sub { rec('999','c') } + ); +if ( $zemlja ) { + marc_fixed('008','15',$zemlja); +} + +marc_fixed('008', '18', + substr( rec('008'), 18, 22 ) +); + +marc_remove('773'); + +marc('773','3', rec('773','3') ); +marc('773','6', rec('773','6') ); +marc('773','7', rec('773','7') ); +marc('773','8', rec('773','8') ); +marc('773','9', rec('773','9') ); +marc('773','a', rec('773','a') ); +marc('773','b', rec('773','b') ); +marc('773','d', rec('773','d') ); +marc('773','g', rec('773','g') ); +marc('773','h', rec('773','h') ); +marc('773','i', rec('773','i') ); +marc('773','k', rec('773','k') ); +marc('773','m', rec('773','m') ); +marc('773','n', rec('773','n') ); +marc('773','o', rec('773','o') ); +marc('773','p', rec('773','p') ); +marc('773','q', rec('773','q') ); +marc('773','r', rec('773','r') ); +marc('773','s', rec('773','s') ); +marc('773','t', rec('773','t') ); +marc('773','u', rec('773','u') ); +marc('773','w', rec('773','w') ); + +my $issn = + lookup( + sub { rec('B') }, + 'rbaze','zemlja', + sub { rec('C') }, + sub { rec('999','c') } + ); +if ( $issn ) { + marc('773','x', $issn ); +} + +marc('773','y', rec('773','y') ); +marc('773','z', rec('773','z') ); + if ( rec('999','c') =~ m/305996/ ) { marc_remove('520'); } @@ -51,49 +111,7 @@ marc('942','n', rec('942','n') ); -#if ( rec('773','x') ) { -# marc_repeatable_subfield('942','r', -# lookup( -# sub{ -# join_with(' ; ', -# rec('baza'), -# rec('coverage_policy'), -# rec('coverage_status'), -# join_with('-', -# rec('coverage_start'), -# rec('coverage_stop'), -# ), -# ); -# }, -# 'rbaze','rbaze', -# sub{ rec('isn') }, -# sub{ rec('773','x') } -# ) -# ); -#} -# -#if ( rec('773','x') ) { -# marc_repeatable_subfield('942','r', -# lookup( -# sub{ -# join_with(' ; ', -# rec('baza'), -# rec('coverage_policy'), -# rec('coverage_status'), -# join_with('-', -# rec('coverage_start'), -# rec('coverage_stop'), -# ), -# ); -# }, -# 'rbaze','rbaze', -# sub{ rec('isn') }, -# sub{ rec('773','y') } -# ) -# ); -#} - -if ( rec('773','x') ) { +if ( $issn ) { marc_repeatable_subfield('942','r', lookup( sub{ @@ -108,12 +126,12 @@ if ( rec('773','x') ) { ) }, 'rbaze','rbaze', - sub{ regex('s/-//g', rec('C')) }, - sub{ regex('s/-//g', rec('773','x')) } + sub{ regex('s/(-|\s+)//g', rec('C')) }, + sub{ regex('s/(-|\s+)//g', $issn ) } ) ); } -if ( rec('773','x') ) { +if ( $issn ) { marc_repeatable_subfield('942','r', lookup( sub{ @@ -128,33 +146,12 @@ if ( rec('773','x') ) { ) }, 'rbaze','rbaze', - sub{ regex('s/-//g', rec('D')) }, - sub{ regex('s/-//g', rec('773','x')) } + sub{ regex('s/(-|\s+)//g', rec('D')) }, + sub{ regex('s/(-|\s+)//g', $issn ) } ) ); } -#if ( rec('773','x') ) { -# marc_repeatable_subfield('942','r', -# lookup( -# sub{ -# join_with(' ; ', -# rec('B'), -# rec('N'), -# rec('O'), -# join_with('-', -# rec('P'), -# rec('R'), -# ), -# ); -# }, -# 'rbaze','rbaze', -# sub{ rec('C') }, -# sub{ rec('773','z') } -# ) -# ); -#} - marc('942','s', rec('942','s') ); diff --git a/conf/bibliografija/config-biblio.yml b/conf/bibliografija/config-biblio.yml index 9f0bb1c..02e348e 100644 --- a/conf/bibliografija/config-biblio.yml +++ b/conf/bibliografija/config-biblio.yml @@ -14,9 +14,16 @@ databases: # normalize: # path: 'conf/bibliografija/xls2marc-mini.pl' # encoding: 'utf-8' + - name: 'zemlja' + module: 'WebPAC::Input::CSV' + path: '/data/FF/bibliografija/zemlja-issn-biblionumber.csv' + skip: 0 + normalize: + path: 'conf/bibliografija/minimal.pl' + encoding: 'utf-8' - name: 'rbaze' module: 'WebPAC::Input::CSV' - dsn: 'dbi:Pg:dbname=ffbib' + #dsn: 'dbi:Pg:dbname=ffbib' #path: '/data/FF/bibliografija/baze/rbaze.sql' path: '/data/FF/bibliografija/baze/rbaze.csv' skip: 0