]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Modules/DebianExtra.pl
converted %{$blah{$blah}} to %{ $blah{$blah} }
[infobot.git] / src / Modules / DebianExtra.pl
index aabaf49c5107dd6a99a958d91655cde730de0148..f6179344bbfa4f7c766c0c9beb1e04476f300c72 100644 (file)
@@ -7,10 +7,35 @@
 
 use strict;
 
-my $bugs_url = "http://master.debian.org/~wakkerma/bugs";
+package DBugs;
+
+sub Parse {
+    my($args) = @_;
+
+    if (!defined $args or $args =~ /^$/) {
+       &debianBugs();
+    }
+
+    if ($args =~ /^(\d+)$/) {
+       # package number:
+       &do_id($args);
+
+    } elsif ($args =~ /^(\S+\@\S+)$/) {
+       # package email maintainer.
+       &do_email($args);
+
+    } elsif ($args =~ /^(\S+)$/) {
+       # package name.
+       &do_pkg($args);
+
+    } else {
+       # invalid.
+       &::msg($::who, "error: could not parse $args");
+    }
+}
 
 sub debianBugs {
-    my @results = &main::getURL($bugs_url);
+    my @results = &::getURL("http://master.debian.org/~wakkerma/bugs");
     my ($date, $rcbugs, $remove);
     my ($bugs_closed, $bugs_opened) = (0,0);
 
@@ -29,14 +54,54 @@ sub debianBugs {
                        "It's good to see " :
                        "Oh no, the bug count is rising -- ";
 
-       &main::performStrictReply(
+       &::performStrictReply(
                "Debian bugs statistics, last updated on $date... ".
                "There are \002$rcbugs\002 release-critical bugs;  $xtxt".
                "\002$bugs_closed\002 bugs closed, opening \002$bugs_opened\002 bugs.  ".
                "About \002$remove\002 packages will be removed."
        );
     } else {
-       &main::msg($main::who, "Couldn't retrieve data for debian bug stats.");
+       &::msg($::who, "Couldn't retrieve data for debian bug stats.");
+    }
+}
+
+sub do_id {
+    my($num)   = @_;
+    my $url    = "http://bugs.debian.org/$num";
+
+    if (1) {
+       &::msg($::who, "do_id not supported yet.");
+       return;
+    }
+
+    my @results = &::getURL($url);
+    foreach (@results) {
+       &::DEBUG("do_id: $_");
+    }
+}
+
+sub do_email {
+    my($email) = @_;
+    my $url    = "http://bugs.debian.org/$email";
+
+    if (1) {
+       &::msg($::who, "do_email not supported yet.");
+       return;
+    }
+
+    my @results = &::getURL($url);
+    foreach (@results) {
+       &::DEBUG("do_email: $_");
+    }
+}
+
+sub do_pkg {
+    my($pkg)   = @_;
+    my $url    = "http://bugs.debian.org/$pkg";
+
+    my @results = &::getURL($url);
+    foreach (@results) {
+       &::DEBUG("do_pkg: $_");
     }
 }