Add JSON
[app-musicexpo.git] / lib / App / MusicExpo.pm
index 60c5c087156164daec33bcb3d09cdb3b13537052..32715ae1680671c029729fa65b99f926670be995 100644 (file)
@@ -15,6 +15,7 @@ use DB_File qw//;
 use File::Basename qw/fileparse/;
 use Fcntl qw/O_RDWR O_CREAT/;
 use Getopt::Long;
+use JSON;
 use Storable qw/thaw freeze/;
 
 ##################################################
@@ -128,7 +129,10 @@ sub run {
                push @files, \%entry
        }
 
-       $ht->param(files=>[sort { $a->{title} cmp $b->{title} } @files], prefix => $prefix);
+       my $json = JSON->new->utf8->canonical->encode({files => \@files, prefix => $prefix});
+       $json =~ s/</&lt;/g;
+       $json =~ s/>/&gt;/g;
+       $ht->param(files=>[sort { $a->{title} cmp $b->{title} } @files], prefix => $prefix, json => $json);
        print $ht->output;
 }
 
@@ -142,8 +146,10 @@ $default_template = <<'HTML';
 <thead>
 <tr><th>Title<th>Artist<th>Album<th>Genre<th>Track<th>Year<th>Type
 <tbody><tmpl_loop files>
-<tr><td><a href=<tmpl_var title><td><tmpl_var artist><td><tmpl_var album><td><tmpl_var genre><td><tmpl_var tracknumber>/<tmpl_var tracktotal><td><tmpl_var year><td><tmpl_loop formats><a href="<tmpl_var ...prefix><tmpl_var ESCAPE=URL file>"><tmpl_var format></a> </tmpl_loop></tmpl_loop>
+<tr><td><tmpl_var title><td><tmpl_var artist><td><tmpl_var album><td><tmpl_var genre><td><tmpl_var tracknumber>/<tmpl_var tracktotal><td><tmpl_var year><td><tmpl_loop formats><a href="<tmpl_var ...prefix><tmpl_var ESCAPE=URL file>"><tmpl_var format></a> </tmpl_loop></tmpl_loop>
 </table>
+
+<pre id="json" style="display: none"><tmpl_var ESCAPE=0 json></pre>
 HTML
 
 1;
This page took 0.010264 seconds and 4 git commands to generate.