Permalink
Browse files

Add plugins for Sick-Beard

 * Number of shows (sample: http://imgur.com/5Uxih)
 * Number of Episodes (sample: http://imgur.com/3fG8M)
  • Loading branch information...
1 parent a9ce052 commit e62ea879a23d19347d6c3bab965f6a521a1200cc thiago committed Oct 27, 2012
Showing with 138 additions and 0 deletions.
  1. +69 −0 plugins/sickbeard/sickbeard_episodes
  2. +69 −0 plugins/sickbeard/sickbeard_shows
@@ -0,0 +1,69 @@
+#!/usr/bin/perl
+#
+# Munin plugins for Sick-Beard
+#
+# Copyright (C) 2012 - Blauwbek
+# Copyright (C) 2012 - Thiago
+#
+# Sick-Beard : http://sickbeard.com/
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# Requires: JSON::Any
+# LWP::UserAgent
+#
+# Configuration example
+# [sickbeard*]
+# env.host http://host:port/
+# env.api apikey
+#
+
+use strict;
+use JSON::Any;
+use LWP::UserAgent;
+
+#defines
+my $HOST = exists $ENV{'host'} ? $ENV{'host'} : "http://localhost:8081/";
+my $API = exists $ENV{'api'} ? $ENV{'api'} : "";
+my $URL = $HOST."/api/".$API."/?cmd=shows.stats";
+my $sURL = sprintf $URL;
+
+#config output
+if(defined $ARGV[0] && $ARGV[0] eq 'config')
+{
+ print <<EOC
+graph_title Episodes
+graph_vlabel Episodes
+graph_category Sick-Beard
+down.label Downloaded
+total.label Total
+EOC
+;
+
+exit 0;
+}
+
+my $get = LWP::UserAgent->new;
+my $req = $get->get($sURL);
+my $json = JSON::Any->jsonToObj($req->content());
+
+if ($json->{result} eq 'success') {
+ print "down.value $json->{data}->{ep_downloaded}\n";
+ print "total.value $json->{data}->{ep_total}\n";
+ exit 0;
+} else {
+ print "$json->{message}\n";
+ exit 1;
+}
+
@@ -0,0 +1,69 @@
+#!/usr/bin/perl
+#
+# Munin plugins for Sick-Beard
+#
+# Copyright (C) 2012 - Blauwbek
+# Copyright (C) 2012 - Thiago
+#
+# Sick-Beard : http://sickbeard.com/
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# Requires: JSON::Any
+# LWP::UserAgent
+#
+# Configuration example
+# [sickbeard*]
+# env.host http://host:port/
+# env.api apikey
+#
+
+use strict;
+use JSON::Any;
+use LWP::UserAgent;
+
+#defines
+my $HOST = exists $ENV{'host'} ? $ENV{'host'} : "http://localhost:8081/";
+my $API = exists $ENV{'api'} ? $ENV{'api'} : "";
+my $URL = $HOST."/api/".$API."/?cmd=shows.stats";
+my $sURL = sprintf $URL;
+
+#config output
+if(defined $ARGV[0] && $ARGV[0] eq 'config')
+{
+ print <<EOC
+graph_title Shows
+graph_vlabel Shows
+graph_category Sick-Beard
+active.label Active
+total.label Total
+EOC
+;
+
+exit 0;
+}
+
+my $get = LWP::UserAgent->new;
+my $req = $get->get($sURL);
+my $json = JSON::Any->jsonToObj($req->content());
+
+if ($json->{result} eq 'success') {
+ print "active.value $json->{data}->{shows_active}\n";
+ print "total.value $json->{data}->{shows_total}\n";
+ exit 0;
+} else {
+ print "$json->{message}\n";
+ exit 1;
+}
+

0 comments on commit e62ea87

Please sign in to comment.