aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--lib/MGA/Advisories.pm6
-rwxr-xr-xmgaadv16
3 files changed, 24 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 9027dd5..3f62b51 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,5 @@
-- add command to add a new advisory
+- add 'new' command to add a new advisory
+- add 'list' command to list advisories
Version 0.4
diff --git a/lib/MGA/Advisories.pm b/lib/MGA/Advisories.pm
index c5a31e1..f32625a 100644
--- a/lib/MGA/Advisories.pm
+++ b/lib/MGA/Advisories.pm
@@ -227,4 +227,10 @@ sub newadv {
return $file;
}
+sub listadv {
+ my ($advdb) = @_;
+ print map { "$_: $advdb->{advisories}{$_}{subject}\n" }
+ sort keys %{$advdb->{advisories}};
+}
+
1;
diff --git a/mgaadv b/mgaadv
index 0351703..4ea8b81 100755
--- a/mgaadv
+++ b/mgaadv
@@ -5,6 +5,15 @@ use MGA::Advisories;
use Template;
my %actions = (
+ list => {
+ run => \&listadv,
+ descr => 'List advisories',
+ usage => <<END,
+$0 list
+
+Print the list of published advisories
+END
+ },
mksite => {
run => \&mksite,
descr => 'Generates the advisories web site',
@@ -71,6 +80,13 @@ sub newadv {
}
}
+sub listadv {
+ usageexit('usage', $_[0]) unless @_ == 1;
+ my %advdb;
+ $advdb{advisories} = MGA::Advisories::get_advisories();
+ MGA::Advisories::listadv(\%advdb);
+}
+
if (@ARGV == 0 || !$actions{$ARGV[0]}) {
usageexit();
}