generate json file on disk
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 16 Oct 2010 17:44:57 +0000 (17:44 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sat, 16 Oct 2010 17:44:57 +0000 (17:44 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@1345 07558da8-63fa-0310-ba24-9fe276d99e06

lib/WebPAC/Output/JSON.pm

index 049d679..e912815 100644 (file)
@@ -9,6 +9,7 @@ __PACKAGE__->mk_accessors(qw(path));
 use Data::Dump qw/dump/;
 use JSON;
 use File::Slurp;
+use autodie;
 
 =head1 NAME
 
@@ -97,8 +98,19 @@ sub finish {
 
        my $log = $self->_get_logger();
 
-       $log->info("writing JSON output to ", $self->path);
-       write_file( $self->path, objToJson( { items => $self->{_data} } ) );
+       if ( @{ $self->{_data} } ) {
+
+               use bytes;
+
+               open(my $fh, '>', $self->path);
+               print $fh to_json( { items => $self->{_data} } );
+               close $fh;
+
+               $log->info("wrote JSON to ", $self->path, ' ', -s $self->path, ' bytes');
+
+       } else {
+               $log->error("no data for JSON generated - remove this output?");
+       }
 
 }