#!/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 @shows = RHRD::rddb::list_shows($ctx); if(!defined $shows[0] && defined $shows[1]) { $responsecode = 500; $status = $shows[1]; $errorstring = $shows[2]; } else { my @sorted = sort { lc($a->{'TITLE'}) cmp lc($b->{'TITLE'}) } @shows; for my $href (@sorted) { my %show; $show{'id'} = int($href->{'ID'}); $show{'title'} = $href->{'TITLE'}; 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);