added očuvan dio posude split into array
[keramika-neolitik] / csv2js.pl
index 4006be4..cdba38b 100755 (executable)
--- a/csv2js.pl
+++ b/csv2js.pl
@@ -8,6 +8,7 @@ use Text::CSV qw( csv );
 use Data::Dump qw( dump );
 use JSON;
 use Clone qw( clone );
+use autodie;
 
 use utf8;
 
@@ -18,21 +19,39 @@ open(my $fh, '>', 'keramika.js');
 my $json;
 
 foreach my $i ( @$aoh ) {
-       my $source = sprintf( "ZBIRKA-NEOLITIK/%02d.png", $i->{ID} );
+       my $source = sprintf( "../ZBIRKA-NEOLITIK/%d.png", $i->{ID} );
        my $image = sprintf( "image/%d.jpg" , $i->{ID} );
        my $thumb = sprintf( "thumb/%d.jpg" , $i->{ID} );
-       system "convert -trim $source $image";
-       system "convert -geometry 100x $image $thumb";
+
+       if ( ! -e $source ) {
+               warn "ERROR: no image $source";
+               next;
+       }
+
+       #system "convert -trim -geometry 400x $source $image";
+       system qq{convert -fill white -draw "color 1,1 floodfill" -trim -geometry 400x $source $image};
+       #system "convert $image -scale 100x100 -gravity center -background white -extent 100x100 $thumb";
+       system qq{convert $source -fill white -draw "color 1,1 floodfill" -scale 100x100 -gravity center -gravity south -background white -extent 100x100 $thumb};
        $i->{image} = $image;
        $i->{thumbnail} = $thumb;
 #      $i->{label} = $i->{opis_predmeta};
        $i->{label} = $i->{ID};
 
-       my @ukrasi = split(/\s*,\s+|\s+i\s+/, $i->{ukras});
-       $i->{ukrasi_array} = [ @ukrasi ];
+       foreach my $name ( keys %$i ) {
+               if ( length($i->{$name}) == 0 || $i->{$name} =~ m{^(nema|n/a)$} ) {
+                       delete $i->{$name};
+               }
+       }
+
+       if ( defined($i->{ukras}) ) {
+               my @ukrasi = split(/\s*,\s+|\s+i\s+/, $i->{ukras});
+               $i->{ukrasi_array} = [ @ukrasi ];
+       }
 
-       my @ocuvan = split(/\s*,\s+|\s+i\s+/, $i->{očuvan_dio_posude});
-       $i->{ocuvan_array} = [ @ocuvan ];
+       if ( defined($i->{očuvan_dio_posude} ) ) {
+               my @ocuvan = split(/\s*,\s+|\s+i\s+/, $i->{očuvan_dio_posude});
+               $i->{ocuvan_array} = [ @ocuvan ];
+       }
 
        warn "# i = ",dump($i);
        push @{ $json->{items} }, $i;