From 31eac3225dc64688e70d08cfc2095bcc732a5fb0 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 23 Jun 2016 17:39:23 +0200 Subject: added first version of schedule export 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 +# +# 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 . +# + +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); -- cgit v0.10.2