local configuration
authorDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 10 Oct 2007 21:00:48 +0000 (21:00 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 10 Oct 2007 21:00:48 +0000 (21:00 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@903 07558da8-63fa-0310-ba24-9fe276d99e06

conf/mjesec.yml
conf/normalize/ff-libri.pl
conf/normalize/ff-peri.pl
conf/normalize/json.pl
conf/validate/ffar-libri

index 676be36..092def3 100644 (file)
@@ -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:
index 93965e4..68f5432 100644 (file)
@@ -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, ' ');
 
index d68ec41..3965814 100644 (file)
@@ -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')
index 3d756e2..31055cf 100644 (file)
@@ -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')
 );
index 1a21387..61db097 100644 (file)
@@ -1,6 +1,6 @@
 0 
 10 
-101!
+101
 200 a! c d e f g k*
 205- 
 210 a* c* d