773 and country
authorMarijana Glavica <mglavica@ffzg.hr>
Mon, 6 Jan 2014 18:26:59 +0000 (19:26 +0100)
committerMarijana Glavica <mglavica@ffzg.hr>
Mon, 6 Jan 2014 18:26:59 +0000 (19:26 +0100)
conf/bibliografija/biblio.pl
conf/bibliografija/config-biblio.yml

index b26129b..39440f0 100644 (file)
@@ -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')
 );
index 9f0bb1c..02e348e 100644 (file)
@@ -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