summaryrefslogtreecommitdiff
path: root/rh-bin
diff options
context:
space:
mode:
Diffstat (limited to 'rh-bin')
-rwxr-xr-xrh-bin/schedules.json68
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);