added ukrasi_array (split on , and " i ")
[keramika-neolitik] / csv2js.pl
1 #!/usr/bin/perl
2
3 use warnings;
4 use strict;
5 use autodie;
6
7 use Text::CSV qw( csv );
8 use Data::Dump qw( dump );
9 use JSON;
10 use Clone qw( clone );
11
12 use utf8;
13
14 my $file = 'keramika.csv';
15 my $aoh = csv (in => $file, headers => "auto");
16
17 open(my $fh, '>', 'keramika.js');
18 my $json;
19
20 foreach my $i ( @$aoh ) {
21         my $source = sprintf( "ZBIRKA-NEOLITIK/%02d.png", $i->{ID} );
22         my $image = sprintf( "image/%d.jpg" , $i->{ID} );
23         my $thumb = sprintf( "thumb/%d.jpg" , $i->{ID} );
24         system "convert -trim $source $image";
25         system "convert -geometry 100x $image $thumb";
26         $i->{image} = $image;
27         $i->{thumbnail} = $thumb;
28 #       $i->{label} = $i->{opis_predmeta};
29         $i->{label} = $i->{ID};
30
31         my @ukrasi = split(/\s*,\s+|\s+i\s+/, $i->{ukras});
32         $i->{ukrasi_array} = [ @ukrasi ];
33
34         my @ocuvan = split(/\s*,\s+|\s+i\s+/, $i->{očuvan_dio_posude});
35         $i->{ocuvan_array} = [ @ocuvan ];
36
37         warn "# i = ",dump($i);
38         push @{ $json->{items} }, $i;
39 #       foreach my $n ( 1 .. 1000 ) {
40 #               my $i2 = clone $i;
41 #               $i2->{label} .= "_" . $n;
42 #               push @{ $json->{items} }, $i2;
43 #       }
44 }
45
46 print $fh encode_json( $json );
47 close($fh);
48