local
authorDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 12 Feb 2008 18:32:13 +0000 (18:32 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 12 Feb 2008 18:32:13 +0000 (18:32 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@1090 07558da8-63fa-0310-ba24-9fe276d99e06

conf/mjesec.yml
conf/modify/common.pl
conf/normalize/ff-libri.pl
conf/normalize/ff-peri.pl

index 95ce005..1781cf3 100644 (file)
@@ -84,7 +84,7 @@ webpac:
 editor:
   # open this record when opening editor
   # (it will also be used to deduce default database and input)
-  default_record_uri: 'ps/peri/1'
+  default_record_uri: 'ps/libri/1'
 
 # directives after this are used when indexing using core WebPAC modules
 
@@ -144,6 +144,8 @@ databases:
         credit: 10000
       - to: kem 
         credit: 10000
+      - to: efzg 
+        credit: 10000
 
 #  # site with alternative databases
 #  'hr':
@@ -189,294 +191,88 @@ databases:
 #      - to: emerald
 #        credit: 10000
 
-  ffan:
-    name: 'Anglistika, Filozofski fakultet u Zagrebu'
+  hazu:
+    name: 'HAZU'
     input:
-      - 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'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffar:
-    name: 'Arheologija, Filozofski fakultet u Zagrebu'
-    input:
-      - 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'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffet:
-    name: 'Etnologija, Filozofski fakultet u Zagrebu'
-    input:
-      - 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'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  fffi:
-    name: 'Filozofija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A102-1B/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  fffo:
-    name: 'Fonetika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/novi-40162/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffge:
-    name: 'Germanistika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/novi-40166/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffhu:
-    name: 'Hungarologija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/B001-2/winisis/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffiz:
-    name: 'Informacijske znanosti, Filozofski fakultet u Zagrebu'
-    input:
-      - 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'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffkk:
-    name: 'Komparativna knji¾evnost, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A206-4/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  fflo:
-    name: 'Lingvistika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
+      - name: bib
         type: isis
-        path: '/backup/isis_backup/A108-1/ISISDATA/latest/LIBRI/LIBRI'
+        path: '/data/unizg/hazu/BIB'
         encoding: 'cp852'
-        #limit: 10
         modify_file: 'conf/modify/common.pl'
         normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
+          path: 'conf/normalize/minimal.pl'
 
-  ffpe:
-    name: 'Pedagogija, Filozofski fakultet u Zagrebu'
+  sand:
+    name: 'SAND'
     input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/visnja/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffpo:
-    name: 'Povijest, Filozofski fakultet u Zagrebu'
+      name: casopisi
+      type: dbf
+      path: '/data/unizg/casopisi/sys/cas2000.dbf'
+      normalize:
+        path: 'conf/normalize/common.pl'
+#      mapping_path: 'conf/input/dbf/cas2000.yml'
+  
+  hidra:
+    name: 'HIDRA'
     input:
-      - name: libri
+      - name: bib
         type: isis
-        path: '/backup/isis_backup/A-201-1/isisdata/latest/LIBRI/LIBRI'
+        path: '/data/hidra/test/BIB'
         encoding: 'cp852'
         modify_file: 'conf/modify/common.pl'
         normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
+          path: 'conf/normalize/minimal.pl'
 
-  ffpu:
-    name: 'Povijest umjetnosti, Filozofski fakultet u Zagrebu'
+  efzg:
+    name: 'EFZG'
     input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/C124-3/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
+      - name: crolist
+        type: marc
+        path: '/data/unizg/drustvene/efzg/unimarc.iso'
+        encoding: 'ISO-8859-2'
         normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffps:
-    name: 'Psihologija, Filozofski fakultet u Zagrebu'
-    code: 'ps'
-    url: 'http://www.knjiznice.ffzg.hr/psihologija'
+          path: 'conf/normalize/minimal.pl'
+  
+  ipu:
+    name: 'Institut za povijest umjetnosti'
     input:
-      - name: libri
+      - name: bibl
         type: isis
-        path: '/backup/isis_backup/sunce2/isisdata/latest/LIBRI/'
+        path: '/data/unizg/humanistika/ipu/20071115/bibl/BIBL'
         encoding: 'cp852'
-        modify_file: 'conf/modify/common.pl'
+        modify_file: 'conf/modify/common.pl'
         normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
+          path: 'conf/normalize/minimal.pl'
 
-  ffro:
-    name: 'Romanistika, Filozofski fakultet u Zagrebu'
+  zvonar:
+    name: 'HAZU Odsjek za povijesne znanosti'
     input:
       - name: libri
         type: isis
-        path: '/backup/isis_backup/A224-6/isisdata/20070605/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
+        path: '/data/unizg/humanistika/hazu-p/LIBRI'
         normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffsf:
-    name: 'Slavenska filologija, Filozofski fakulteti u Zagrebu'
-    input:
-      - name: librib
+          path: 'conf/normalize/minimal.pl'
+      - name: peri
         type: isis
-        path: '/backup/isis_backup/A125-3/ISISDATA/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
+        path: '/data/unizg/humanistika/hazu-p/PERI'
         normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
+          path: 'conf/normalize/minimal.pl'
 
-  ffso:
-    name: 'Sociologija, Filozofski fakultet u Zagrebu'
+  stross:
+    name: 'Strossmayerova galerija'
     input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A002-3/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffta:
-    name: 'Talijanistika, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
-        type: isis
-        path: '/backup/isis_backup/A225-2/isisdata/latest/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-  
-  fftu:
-    name: 'Turkologija, Filozofski fakultet u Zagrebu'
-    input:
-      - name: libri
+      - name: bib
         type: isis
-        path: '/backup/isis_backup/B025-2/ISISDATA/20070711/LIBRI/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
+        path: '/data/unizg/stross/BIB'
         normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  ffmic:
-    name: 'Meðunarodni istra¾ivaèki centar za kasnu antiku i srednji vijek'
+          path: 'conf/normalize/minimal.pl'
+       
+  koncar:
+    name: 'Konèar'
     input:
-      - name: libri
+      - name: unimar
         type: isis
-        path: '/backup/isis_backup/C107-9/ISISDATA/latest/libri/LIBRI'
-        encoding: 'cp852'
-        #limit: 10
-        modify_file: 'conf/modify/common.pl'
-        normalize:
-          - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
-
-  nsk:
-    name: 'Nacionalna i sveucilisna knjiznica'
-    input:
-      name: bbaza
-      type: marc
-      path: '/home/mglavica/NSK/data/BBaza.ISO'
-      encoding: 'ISO-8859-2'
-      normalize:
-        - path: 'conf/normalize/minimal.pl'
-        - path: 'conf/normalize/ff-libri-svesci.pl'
-
-
-  hidra:
-    name: 'HIDRA'
-    input:
-      - name: bib
-        module: 'WebPAC::Input::ISIS'
-        path: '/data/hidra/test/BIB'
-        encoding: 'cp852'
+        path: '/data/tehnika/koncar/UNIMAR'
         normalize:
-          path: 'conf/normalize/webpacus-hidra.pl' 
-      - name: dir
-        module: 'WebPAC::Input::ISIS'
-        path: '/data/hidra/test/DIR'
-        encoding: 'cp852'
-        # no normalize, just for lookup
-    output:
-      - module: 'KinoSearch'
-        path: 'var/kinosearch'
-      - module: 'Webpacus'
-        path: '/data/Webpacus2'
-
+          path: 'conf/normalize/minimal.pl'
+       
index 5e8411d..f513183 100644 (file)
@@ -5,9 +5,13 @@
 10
   '*'
     'regex:^' => '^a'
-    '. -' => '^a'
+    'regex:\(' => ' ('
+    '. - ' => '^a'
     ' ; ' => '^a'
+    '; ' => '^a'
     ';' => '^a'
+    'ISBN ' => ''
+#    '-' => ''
 
 101
   '*'
index 041defa..7a75e58 100644 (file)
@@ -11,9 +11,9 @@
 if ( rec('200','a') ) {
 
 ### LEADER
-## raspraviti 17,18
 
-## LDR 05 - c ili d - iz 999a ili 999b ili 999 - provjeriti za svaku knjiznicu
+## LDR 05 - c = pregledan ; n = new
+## 999^aP - SFM
 
 if ( rec('999') && rec('999','a') =~ m/(pregledan|P)/i) {
        marc_leader('05','c');
@@ -21,16 +21,18 @@ if ( rec('999') && rec('999','a') =~ m/(pregledan|P)/i) {
        marc_leader('05','n');
 }
 
-## LDR 06 - a ili m - odrediti kriterije
+## LDR 06 - a - language material 
 
        marc_leader('06','a');
 
-## LDR 07 - m
+## LDR 07 - m - Monograph/item
 
        marc_leader('07','m');
 
-## LDR 17 i 18 - razjasniti
+## LDR 17
+       marc_leader('17','7');
 
+## LDR 18 
        marc_leader('18','i');
 
 ## LDR 19 - razjasniti
@@ -39,7 +41,7 @@ if ( rec('230') ) {
        marc_leader('19','r');
 }
 
-### 001 - Voyager
+### 001 - Voyager ID
 
 ### 003 - razjasniti
 
@@ -48,7 +50,7 @@ if ( rec('230') ) {
 marc_fixed('007',00,'ta');
 
 ### 008 - All materials
-## 008 00 - datum - ¹to kad datum nije poznat?
+## dodati sve moguce slucajeve za datum, popuniti ono sto nedostaje
 
 if ( rec('994','c') ) {
        marc_fixed('008','00',
@@ -58,7 +60,7 @@ if ( rec('994','c') ) {
        );
 } else {
        marc_fixed('008', 00,
-               '000101'
+               '000000'
        );
 }
 
@@ -69,33 +71,75 @@ if ( rec('994','c') ) {
 #)
 #);
 
-## 008 06 - Type of date/Publication status - t - raspraviti
+## 008 06 - Type of date/Publication status
+## dodati i ostale moguænosti
+## 008 07-10 - Date 1 - iz 210d koji kroz modify postaje 210c
 
-marc_fixed('008','06', 't');   
+my $year = rec('210','c');
 
-## 008 07-10 - Date 1 - iz 210d koji kroz modify postaje 210c
+if ( rec('210','c') ) {
+       marc_fixed('008','06','s');             # 06 - Type of date/Publication status, s = single know date
+       
+#      warn "## year = $year";
+
+       if ( $year =~ m/^(\d{4})/ ) {
+#      warn "## $1 ##\n";
+               marc_fixed('008','07',$1);              # 07-10 - Date 1
+
+} else {
+       marc_fixed('008','06','n');             # 06 - n = unknown date
+       marc_fixed('008','07','uuuu');
+}
+}
 
-marc_fixed('008','07',
-       rec('210','c')
-);
 
 ## 008 11-14 - Date 2 
 
 ## 008 15-17 - Place of publication, production, or execution - ¹to ako nema 102?
+## raspraviti
 
-marc_fixed('008','15', 
-       lc ( rec('102') ) 
-);                             
+#marc_fixed('008','15', 
+#      lc ( rec('102') ) 
+#);
 
-## 008 35-37 - Language - ¹to ako nema 101?
+my $zemlja = 
+       lookup(
+               sub { rec('B') },
+               'kodovi','zemlje',
+               sub { rec('A') },
+               sub { 
+                       regex('s/[\s;:]/g',
+                               rec('210','a') 
+                       )
+               },
+       );
+
+warn (
+       dump ($zemlja)
+);
+
+if ( $year =~ m/^(\d{4})/ ) {
+       if ( $1 >= 1990 ) {
+               marc_fixed('008','15',
+                       lc ( $zemlja )
+
+               );
+#      } elsif ( dump( $zemlja ) eq 'hr' ) {
+#              marc_fixed('008','15','yu');
+       }
+}
+
+
+## 008 35-37 - Language
 
 marc_fixed('008','35',
-       first( lc(rec('101')) )         
+       # first( lc(rec('101')) )               
+       lc( frec('101'))                
 );
                                        
 ## 008 38 - Modified record - razjasniti
 
-## 008 39 - Cataloging source - d
+## 008 39 - Cataloging source - d (other)
 
 marc_fixed('008','39','d');            
 
@@ -113,14 +157,16 @@ marc_fixed('008','39','d');
 ## 008 34 - Biography
 
 ### 020
-## modify -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (sfb)
+## modify za polje 10 -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (pr. u sfb)
 
 if ( frec('10') ne ( frec('290') ) ) {
        marc('020','a', 
-               regex('s/-//g',
-#              regex('s/\(\d\)\(/$1 \(//g',
-                       rec('10')
-               )
+               # isbn_13(
+                       regex('s/\s\s/ /g',
+                       # regex('s/\(\d\)\(/$1 \(//g',
+                               rec('10','a')
+                       )
+               # )
        ); 
 }
 
@@ -130,21 +176,21 @@ if ( frec('10') ne ( frec('290') ) ) {
 #      ),
 #);
 
-### 035$6
+### 035$
 ## Privemeno koristimo 035$6 umjesto 035$9, zato ¹to marclint prijavljuje 9 kao gre¹ku.
 ## marc 035a - System Number - Voyagerov ID (001) 
 ## polje 035$9 mo¾e sadr¾avati slova i razmake
 
 marc('035','6',
 join_with('',
-#              config('input normalize path'),
-#              config('name'),
-               config(),
-               ' L',
-#              config('input name'),
-#              id(),
-#              rec('994','a'),
-               rec('000')
+       # config('input normalize path'),
+       # config('name'),
+       config(),
+       ' L',
+       # config('input name'),
+       # id(),
+       # rec('994','a'),
+       rec('000')
        )
 );
 
@@ -180,10 +226,10 @@ marc('040','e',
 ## to ima samo za knji¾evna djela, eseje.... 
 ## ????
 
-#if ( rec('675') =~ m/\d=\d/ ) ??
+#if ( rec('675') =~ m/\d=\d/ ) ?
 
 if ( 
-       grep( m/[prijevod|prevedeno|izv.*stv.*nasl|izvornik]/i, rec('300') ) || 
+       grep( m/[prijevod|prevedeno|izv.*stv.*nasl|izvornik|nas.*izv*]/i, rec('300') ) || 
        grep( m/[preve|prijevod]/i, rec('200','f')) || 
        grep( m/[preve|prijevod]/i, rec('200','g'))  
 ) {
@@ -382,8 +428,12 @@ marc_compose('245',
                ( rec('200','f') && rec('200','c') ) ? '.' :
                        '',
                        join_with(' ; ',
-                               rec('200','f'),
-                               rec('200','g')
+                               regex('s/(\S\.)\s(\S\.\s)/$1$2/g',
+                                       rec('200','f'),
+                               ),
+                               regex('s/(\S\.)\s(\S\.\s)/$1$2/g',
+                                       rec('200','g')
+                               )
                        )
        ),
        ## append to last subfield
@@ -499,9 +549,13 @@ marc_template(
                'a ;|v ;|w',
                #mozda greska:
                'a ;|v,|x ;|w',
+               'a ;|v,|x.|p',
                'a,|x ;|v',
                'a,|x.|p ;|w',
        ],
+         from => "{ a => 1, i => 1, w => 1, \"x\" => 1 }",
+           to => "{ a => 1, p => 1, v => 1, \"x\" => 1 }",
+
        marc_template => [
                'a',
                'a ;|v',
index 9f9bbc2..f691188 100644 (file)
@@ -241,9 +241,9 @@ if (        ( rec('200','a') =~ m/^A /) ||
 marc_compose('245',
        'a', suffix(
                ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' /' :  
-               ( rec('200','d') ) ? ' =' :
-               ( rec('200','e') ) ? ' :' :
-               ( rec('200','k') ) ? ' ;' :
+               ( rec('200','d') ) ? ' = ' :
+               ( rec('200','e') ) ? ' : ' :
+               ( rec('200','k') ) ? ' ; ' :
                        '', 
                        rec('200','a'),
        ),