diff options
author | Christian Pointner <equinox@helsinki.at> | 2016-06-23 15:39:23 (GMT) |
---|---|---|
committer | Christian Pointner <equinox@helsinki.at> | 2016-06-23 15:39:56 (GMT) |
commit | 31eac3225dc64688e70d08cfc2095bcc732a5fb0 (patch) | |
tree | 1bccfcaf404132e1c774f313fbf47f26e4e47352 | |
parent | eb9566fb80ddf525032f17e45995d2425d5006d1 (diff) |
added first version of schedule export
-rwxr-xr-x | rh-bin/schedules.json | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/rh-bin/schedules.json b/rh-bin/schedules.json new file mode 100755 index 0000000..c7f82b0 --- /dev/null +++ b/rh-bin/schedules.json @@ -0,0 +1,68 @@ +#!/usr/bin/perl +# +# rhrdweb +# +# Copyright (C) 2016 Christian Pointner <equinox@helsinki.at> +# +# This file is part of rhrdweb. +# +# rhrdweb is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# any later version. +# +# rhrdweb is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with rhrdweb. If not, see <http://www.gnu.org/licenses/>. +# + +use strict; +use RHRD::rddb; +use JSON::MaybeXS; + +my $status = 'ERROR'; +my $errorstring = 'unknown'; +my $responsecode = 500; +my @showlist; + +(my $ctx, $status, $errorstring) = RHRD::rddb::init(); +if(defined $ctx) { + + my $year = 2016; + my $month = 06; + my $day = 23; + my @shows = RHRD::rddb::get_schedule_log($ctx, $year, $month, $day); + if(!defined $shows[0] && defined $shows[1]) { + $responsecode = 500; + $status = $shows[1]; + $errorstring = $shows[2]; + } else { + for my $href (@shows) { + my %show; + $show{'start'} = $href->{'START'}->strftime("%FT%T"); + $show{'id'} = int($href->{'ID'}); + $show{'title'} = $href->{'TITLE'}; + $show{'len'} = int($href->{'LEN'}); + push @showlist, \%show; + } + $responsecode = 200; + $status = "OK"; + $errorstring = "success"; + } + RHRD::rddb::destroy($ctx); +} + +my %answer; +$answer{'status'} = $status; +$answer{'errorstring'} = $errorstring; +$answer{'shows'} = \@showlist; + +my $j = JSON::MaybeXS->new(utf8 => 0); + +print "Content-type: application/json; charset=UTF-8\n"; +print "Status: $responsecode\n\n"; +print $j->encode(\%answer); |