run wget only weekly
[webpac] / isis_sf.pm
index 554bcc6..f1babf6 100644 (file)
@@ -1,21 +1,26 @@
 #
-# isis_sf($isis_row,'isis_field'[,'subfield'])
+# get_sf($isis_row,'isis_field'[,'subfield'])
 #
-# e.g. isis_sf($row,'700','a')
+# e.g. get_sf($row,'700','a')
 #
-sub isis_sf {
+sub get_sf {
        my $row = shift @_;
        my $isis_id = shift @_;
        my $subfield = shift @_;
 
-       if ($row->{$isis_id}->[0]) {
-               my $sf = OpenIsis::subfields($row->{$isis_id}->[0]);
-               if (! defined $subfield || length($subfield) == 0) {
+       my $i = shift @_ || 0;
+
+       my $out;
+
+       if ($row->{$isis_id}->[$i]) {
+               if (! $subfield) {
                        # subfield list undef, empty or no defined subfields for this record
-                       my $all_sf = $row->{$isis_id}->[0];
-                       $all_sf =~ s/\^./ /g;   nuke definirions
-                       return $all_sf;
-               } elsif ($sf->{$subfield}) {
+                       my $all_sf = $row->{$isis_id}->[$i];
+                       $all_sf =~ s/\^./ /g;   # nuke definitions
+                       return $all_sf; 
+               }
+               my $sf = OpenIsis::subfields($row->{$isis_id}->[$i]);
+               if ($sf->{$subfield}) {
                        return $sf->{$subfield};
                }
        }