From c3b811fa575dccb32fbe383966b2da81347e6f31 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Wed, 10 Oct 2007 21:00:48 +0000 Subject: [PATCH] local configuration git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@903 07558da8-63fa-0310-ba24-9fe276d99e06 --- conf/mjesec.yml | 206 +++++++++++++++++++++++-------------- conf/normalize/ff-libri.pl | 93 +++++++---------- conf/normalize/ff-peri.pl | 39 ++++--- conf/normalize/json.pl | 98 +++++++++++------- conf/validate/ffar-libri | 2 +- 5 files changed, 251 insertions(+), 187 deletions(-) diff --git a/conf/mjesec.yml b/conf/mjesec.yml index 676be36..092def3 100644 --- a/conf/mjesec.yml +++ b/conf/mjesec.yml @@ -75,6 +75,7 @@ webpac: isis: 'WebPAC::Input::ISIS' marc: 'WebPAC::Input::MARC' excel: 'WebPAC::Input::Excel' + isi: 'WebPAC::Input::ISI' # define delimiters for validation delimiters: - ' ; ' @@ -189,52 +190,78 @@ databases: # - to: emerald # credit: 10000 -# ffan: -# name: 'Anglistika, Filozofski fakultet u Zagrebu' -# input: -# - name: peri -# type: isis -# path: '/backup/isis_backup/A105-1/ISIS/latest/PERI/PERI' -# encoding: 'cp852' -# modify_file: 'conf/modify/common.pl' -# normalize: -# path: 'conf/normalize/ff-peri.pl' -# ffar: -# name: 'Arheologija, Filozofski fakultet u Zagrebu' -# input: -# - name: peri -# type: isis -# path: '/backup/isis_backup/A018-2/isisdata/latest/PERI/PERI' -# encoding: 'cp852' -# #limit: 10 -# modify_file: 'conf/modify/common.pl' -# normalize: -# path: 'conf/normalize/ff-peri.pl' -# -# ffet: -# name: 'Etnologija, Filozofski fakultet u Zagrebu' -# input: -# - name: peri -# type: isis -# path: '/backup/isis_backup/A203-3/ISISDATA/latest/PERI/PERI' -# encoding: 'cp852' -# #limit: 10 -# modify_file: 'conf/modify/common.pl' -# normalize: +# ffan: +# name: 'Anglistika, Filozofski fakultet u Zagrebu' +# input: +# - name: peri +# type: isis +# path: '/backup/isis_backup/A105-1/ISIS/latest/PERI/PERI' +# encoding: 'cp852' +# modify_file: 'conf/modify/common.pl' +# normalize: +# path: 'conf/normalize/ff-peri.pl' +# - name: libri +# type: isis +# path: '/backup/isis_backup/A105-1/ISIS/latest/LIBRI/LIBRI' +# encoding: 'cp852' +# modify_file: 'conf/modify/common.pl' +# normalize: +# path: 'conf/normalize/ff-libri.pl' + + +# ffar: +# name: 'Arheologija, Filozofski fakultet u Zagrebu' +# input: +# - name: peri +# type: isis +# path: '/backup/isis_backup/A018-2/isisdata/latest/PERI/PERI' +# encoding: 'cp852' +# #limit: 10 +# modify_file: 'conf/modify/common.pl' +# normalize: # path: 'conf/normalize/ff-peri.pl' -# -# # fffi: -# # name: 'Filozofija, Filozofski fakultet u Zagrebu' -# # input: -# # - name: peri -# # type: isis -# # path: '/backup/isis_backup/A102-1B/ISISDATA/20070605/PERI/PERI' -# # encoding: 'cp852' -# # #limit: 10 -# # #modify_file: 'conf/modify/common.pl' -# # normalize: -# # path: 'conf/normalize/ff-peri.pl' -# +# - name: libri +# type: isis +# path: '/backup/isis_backup/A018-2/isisdata/latest/LIBRI/LIBRI' +# encoding: 'cp852' +# #limit: 10 +# modify_file: 'conf/modify/common.pl' +# normalize: +# path: 'conf/normalize/ff-libri.pl' + +# ffet: +# name: 'Etnologija, Filozofski fakultet u Zagrebu' +# input: +# - name: peri +# type: isis +# path: '/backup/isis_backup/A203-3/ISISDATA/latest/PERI/PERI' +# encoding: 'cp852' +# #limit: 10 +# modify_file: 'conf/modify/common.pl' +# normalize: +# path: 'conf/normalize/ff-peri.pl' +# - name: libri +# type: isis +# path: '/backup/isis_backup/A203-3/ISISDATA/latest/LIBRI/LIBRI' +# encoding: 'cp852' +# #limit: 10 +# modify_file: 'conf/modify/common.pl' +# normalize: +# path: 'conf/normalize/ff-libri.pl' + + +# fffi: +# name: 'Filozofija, Filozofski fakultet u Zagrebu' +# input: +# - name: peri +# type: isis +# path: '/backup/isis_backup/A102-1B/ISISDATA/20070605/PERI/PERI' +# encoding: 'cp852' +# #limit: 10 +# #modify_file: 'conf/modify/common.pl' +# normalize: +# path: 'conf/normalize/ff-peri.pl' + # fffo: # name: 'Fonetika, Filozofski fakultet u Zagrebu' # input: @@ -259,29 +286,48 @@ databases: # normalize: # path: 'conf/normalize/ff-peri.pl' # -# ffhu: -# name: 'Hungarologija, Filozofski fakultet u Zagrebu' -# input: -# - name: peri -# type: isis -# path: '/backup/isis_backup/B001-2/winisis/latest/PERI/PERI' -# encoding: 'cp852' -# #limit: 10 -# modify_file: 'conf/modify/common.pl' -# normalize: -# path: 'conf/normalize/ff-peri.pl' -# -# ffiz: -# name: 'Informacijske znanosti, Filozofski fakultet u Zagrebu' -# input: -# - name: peri -# type: isis -# path: '/backup/isis_backup/A129-2/isisdata/latest/PERI/PERI' -# encoding: 'cp852' -# modify_file: 'conf/modify/common.pl' -# normalize: -# path: 'conf/normalize/ff-peri.pl' -# + ffhu: + name: 'Hungarologija, Filozofski fakultet u Zagrebu' + input: + - name: peri + type: isis + path: '/backup/isis_backup/B001-2/winisis/latest/PERI/PERI' + encoding: 'cp852' + #limit: 10 + modify_file: 'conf/modify/common.pl' + normalize: + path: 'conf/normalize/ff-peri.pl' + + isi: + name: 'ISI' + input: + - name: isi + type: isi + path: '/data/isis_data/savedrecs.txt' + encoding: 'ISO-8859-1' + # modify_file: 'conf/modify/common.pl' + normalize: + path: 'conf/normalize/isi.pl' + + ffiz: + name: 'Informacijske znanosti, Filozofski fakultet u Zagrebu' + input: + - name: peri + type: isis + path: '/backup/isis_backup/A129-2/isisdata/latest/PERI/PERI' + encoding: 'cp852' + modify_file: 'conf/modify/common.pl' + normalize: + path: 'conf/normalize/ff-peri.pl' + - name: libri + type: isis + path: '/backup/isis_backup/A129-2/isisdata/latest/LIBRI/LIBRI' + encoding: 'cp852' + modify_file: 'conf/modify/common.pl' + normalize: + path: 'conf/normalize/ff-libri.pl' + + # ffkk: # name: 'Komparativna knji¾evnost, Filozofski fakultet u Zagrebu' # input: @@ -317,18 +363,18 @@ databases: # modify_file: 'conf/modify/common.pl' # normalize: # path: 'conf/normalize/ff-peri.pl' - - ffpo: - name: 'Povijest, Filozofski fakultet u Zagrebu' - input: - - name: peri - type: isis - path: '/backup/isis_backup/A-201-1/isisdata/latest/PERI/PERI' - encoding: 'cp852' - modify_file: 'conf/modify/common.pl' - normalize: - path: 'conf/normalize/ff-peri.pl' - +# +# ffpo: +# name: 'Povijest, Filozofski fakultet u Zagrebu' +# input: +# - name: peri +# type: isis +# path: '/backup/isis_backup/A-201-1/isisdata/latest/PERI/PERI' +# encoding: 'cp852' +# modify_file: 'conf/modify/common.pl' +# normalize: +# path: 'conf/normalize/ff-peri.pl' +# # ffpu: # name: 'Povijest umjetnosti, Filozofski fakultet u Zagrebu' # input: diff --git a/conf/normalize/ff-libri.pl b/conf/normalize/ff-libri.pl index 93965e4..68f5432 100644 --- a/conf/normalize/ff-libri.pl +++ b/conf/normalize/ff-libri.pl @@ -32,14 +32,16 @@ if ( rec('230') ) { ### 001 - Voyager -### Pojasniti upotrebu polja 006 +### 003 +# Pojasniti upotrebu polja ### 007 -### pojasniti upotrebu polja +# pojasniti upotrebu polja marc_fixed('007',00,'ta'); ### 008 +# ¹to zapisati u polje kad datum nije poznat? if ( rec('994','c') ) { marc_fixed('008','00', @@ -60,7 +62,6 @@ if ( rec('994','c') ) { #) #); - marc_fixed('008','35', first( lc(rec('101')) ) ); @@ -78,8 +79,8 @@ marc('020','a', ### 035$6 # Privemeno koristimo 035$6 umjesto 035$9, zato ¹to marclint prijavljuje 9 kao gre¹ku. -# marc 035a - System Number - NSK zapisuje Voyagerov ID (001) -# kako mora izgledati polje 035$9? mo¾e li sadr¾avati slova i razmake? +# marc 035a - System Number - Voyagerov ID (001) +# polje 035$9 mo¾e sadr¾avati slova i razmake marc('035','6', join_with('', @@ -94,8 +95,6 @@ join_with('', ) ); - - ### 040 # za sve je isti # treba utvrditi toènu oznaku za ustanovu @@ -113,7 +112,10 @@ marc('040','e', ); -### 041 indikatori +### 041 + +# indikatori +# # pretpostavke o indikatorima: # # 1. Ako postoji polje 300 i ono sadr¾i /Prijevod/ ili /Izv. stv. nasl./, i1 = 1 @@ -140,9 +142,11 @@ if ( grep( m/prijevod/i, rec('300')) || grep( m/prevedeno/i, rec('300')) || grep # ponovljivo polje konvertira se u ponovljivo potpolje #_debug(2); + marc_repeatable_subfield('041','a', rec('101') ); + #_debug(0); ### 044 @@ -170,15 +174,15 @@ marc('080','a', ### 084 - other classification (R) # NSK ga koristi za struènu oznaku NSK iz polja 681 -# NSK definira i prelazak polja 686 u 084, u skladu s LOC konv. tablicom -# polje 686 koristi FFPS - +# NSK konvertira polje 686 u 084, u skladu s LOC konv. tablicom +# polje 686 koristi FFPS. jo¹ netko? marc('084','a', rec('686') ); ### 100 + # I1 = 0 ako je pseudonim (ima 700a, nema 700b) if ( rec('700','a') && ! rec('700','b') ) { @@ -242,16 +246,20 @@ marc('110','a', marc('110','b', rec('710','b') ); -if ( rec('710','c') ) { -marc('110','c', - surround('(', ')', rec('710','c')) -); -} + + if ( rec('710','c') ) { + marc('110','c', + surround('(', ')', rec('710','c')) + ); + } } -### 245 indikatori +### 245 + +# indikatori +# # i1 = 0 za anonimne publikacije, i1 = 1 ako postoji 700 ili 710 # i2 = pretpostavlja se na temelju èlana na poèetku naslova i jezika # treba nadopuniti i dati podatke na verifikaciju knji¾nièarima @@ -282,7 +290,6 @@ if ( ( rec('200','a') =~ m/^An /) && ( rec(101) =~ m/ENG/ ) ) { marc_indicators('245', $i1, 2); } -### 245 # podpolja i interpunkcije pripremljeni u modify #_debug(3); @@ -376,7 +383,7 @@ marc_compose('245', # ), # ), # 'c', rec('200','f'), -### append to last subfield +## append to last subfield # '+', prefix('. ', # rec('200','c') # ), @@ -387,7 +394,7 @@ marc_compose('245', ### 250 -## zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti +# zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti marc_compose('250', 'a',suffix( @@ -442,6 +449,7 @@ marc('300','e', ### 362 # brojèani podaci za nakladnièku cjelinu +# ??? ### 440 # 2.ind. prema jeziku i èlanu @@ -627,7 +635,7 @@ marc('504','a', # standard i validacije dopu¹taju 501 (R) i 505 (R) ## 505 -## FFPS 327 - sadrzaj +# FFPS 327 - sadrzaj if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) { marc_indicators('505', '0', ' '); @@ -648,13 +656,11 @@ if ( config() =~ m/ffan/ ) { } - -## napomene uz konverziju polja 330: # NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica ### 520 -# mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik +# mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik? # FFPS 330 (NP) - sa¾etak if ( config() =~ m/ffps/ ) { @@ -666,6 +672,7 @@ if ( config() =~ m/ffps/ ) { } ### 526 - STUDY PROGRAM INFORMATION NOTE +# provjeriti za svaku bazu sta je tocno u 996? marc_indicators('526', 8, ' '); @@ -775,39 +782,9 @@ marc('700','a', ) ); -## treba provjeriti da li polje 330 sadrzi jos neke podatke koji mogu biti u <> ili su tu iskljucivo autori? da li samo autori ili neke druge osobe? -# -# marc('700','a', -# rec('330','a') -# ); -# -# -# marc('700','a', -# rec('330','b') -# ); -# -# marc('700','a', -# rec('330','c') -# ); -# -# -# marc('700','a', -# rec('330','d') -# ); -# -# marc('700','a', -# rec('330','e') -# ); -# -# marc('700','a', -# rec('330','f') -# ); - #_debug(0); - - ### 740 marc_indicators('740', 0, ' '); @@ -829,7 +806,7 @@ marc('740','a', # }; -### generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim +# generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim if ( rec('225','a') # da li je nakladnièka cjelina? @@ -894,7 +871,7 @@ if ($series_key) { # -## 852 - lokacija +### 852 - lokacija marc_indicators('852', 4, ' '); @@ -904,13 +881,13 @@ marc('852','j', ) ); -## 876 - item information - basic bibliographic unit +### 876 - item information - basic bibliographic unit marc('876','a', rec('991'), ); -## 886 - former marc +### 886 - former marc marc_indicators('886', 2, ' '); diff --git a/conf/normalize/ff-peri.pl b/conf/normalize/ff-peri.pl index d68ec41..3965814 100644 --- a/conf/normalize/ff-peri.pl +++ b/conf/normalize/ff-peri.pl @@ -27,7 +27,7 @@ marc_fixed('007',00,'ta'); ## 008 - All materials marc_fixed('008','00', '070707'); # Date entered on file -marc_fixed('008','06', 's'); # Type of date/Publication status +marc_fixed('008','06', 't'); # Type of date/Publication status if ( rec('11') ) { if ( my $lookup = lookup( sub { rec('210','d') }, @@ -43,7 +43,8 @@ if ( rec('11') ) { ); } } # Date 1 -marc_fixed('008','11', ' '); # Date 2 + +# marc_fixed('008','11', ' '); # Date 2 marc_fixed('008','15', lc ( rec('102') ) ); # Place of publication, production, or execution @@ -55,7 +56,7 @@ marc_fixed('008','39','d'); # Cataloging source ## 008 - Continuing resources -marc_fixed('008','18', '|'); # Frequency +marc_fixed('008','18', '|'); # Frequency - ovo treba popuniti iz polja 326 marc_fixed('008','19', '|'); # Regularity marc_fixed('008','21', 'p'); # Type of continuing resource marc_fixed('008','29', '|'); # Conference publication @@ -64,11 +65,18 @@ marc_fixed('008','34', '|'); # Entry convention ## 022 -if ( ! rec('225','a') ) { - marc('022','a', - rec('11') - ); -} +# if ( ! rec('225','a') ) { +# marc('022','a', +# rec('11') +# ); +# } +# + +## 022 +marc('022','a', + rec('11') +); + # privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku @@ -105,15 +113,20 @@ marc_repeatable_subfield('041','a', ## 044 - zemlja izdavanja if ( rec('11') ) { - marc('044','a', - lookup( + if ( my $lookup = lookup( sub { rec('102','a') }, 'nsk','bbaza', sub { first( rec('011','a') ) }, sub { rec('11') }, - ), - ); -} + ) + ) { + marc('044','a', $lookup ); + } else { + marc('044','a', + rec('102') + ); + } +} marc('080','a', rec('675','a') diff --git a/conf/normalize/json.pl b/conf/normalize/json.pl index 3d756e2..31055cf 100644 --- a/conf/normalize/json.pl +++ b/conf/normalize/json.pl @@ -6,17 +6,21 @@ tag('ISSN', rec('022','a') ); -tag('Jezik', - rec('041','a') +#tag('Jezik', +# rec('041','a') +#); + +tag('Zemlja', + rec('044','a') ); tag('UDK', rec('080','a') ); -tag('APA CC', - rec('084','a') -); +#tag('APA CC', +# rec('084','a') +#); tag('Autori', join_with(' ; ', @@ -37,63 +41,87 @@ tag('Naslov', ) ); -tag('Nakladnièka cjelina', - rec('440','a') +tag('Ucestalost', + rec('310','a') ); -tag('Izdanje', - rec('250','a') +tag('Brojcani podaci', + rec('362','a') ); -tag('Impresum', - join_with('', - rec('260','a'), - join_with('', - rec('260','b'), - rec('260','c') - ) - ) -); +#tag('Nakladnicka cjelina', +# rec('440','a') +#); + +#tag('Izdanje', +# rec('250','a') +#); + +#tag('Impresum', +# join_with('', +# rec('260','a'), +# join_with('', +# rec('260','b'), +# rec('260','c') +# ) +# ) +#); tag('Mjesto izdavanja', - rec('260','a') + regex('s/[,;:] $//', + rec('260','a') + ) ); tag('Izdavac', - rec('260','b') + regex('s/[,;:] $//', + rec('260','b') + ) ); tag('Godina', rec('260','c') ); -tag('Materijalni opis', - join_with('', - rec('300','a'), - join_with('', - rec('300','b'), - rec('300','c') - ) - ) -); +#tag('Materijalni opis', +# join_with('', +# rec('300','a'), +# join_with('', +# rec('300','b'), +# rec('300','c') +# ) +# ) +#); -tag('Napomena', - rec('505','a') +tag('Dimenzije', + rec('300','c') ); +#tag('Napomena', +# rec('505','a') +#); + tag('Predmetnice', rec('653','a') ); -tag('Signatura', - rec('852','a') +tag('Urednici', + rec('700','a') ); -tag('Inv.Br', - rec('876','a') +tag('Ustanove', + rec('710','a') ); +#tag('Signatura', +# rec('852','a') +#); +# +#tag('Inv.Br', +# rec('876','a') +#); +# tag('Fond', rec('992','a') ); diff --git a/conf/validate/ffar-libri b/conf/validate/ffar-libri index 1a21387..61db097 100644 --- a/conf/validate/ffar-libri +++ b/conf/validate/ffar-libri @@ -1,6 +1,6 @@ 0 10 -101! +101 200 a! c d e f g k* 205- 210 a* c* d -- 2.20.1