diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | lib/MGA/Advisories.pm | 21 | ||||
-rwxr-xr-x | mgaadv | 17 |
3 files changed, 39 insertions, 0 deletions
@@ -1,5 +1,6 @@ - add 'new' command to add a new advisory - add 'list' command to list advisories +- add 'show' command to show an advisory Version 0.4 diff --git a/lib/MGA/Advisories.pm b/lib/MGA/Advisories.pm index f32625a..ac7a734 100644 --- a/lib/MGA/Advisories.pm +++ b/lib/MGA/Advisories.pm @@ -233,4 +233,25 @@ sub listadv { sort keys %{$advdb->{advisories}}; } +sub showadv { + my ($advdb, $adv) = @_; + if (!$advdb->{advisories}{$adv}) { + print STDERR "Cannot find advisory $adv\n"; + return undef; + } + my $template = Template->new( + INCLUDE_PATH => $config->{tmpl_dir}, + ); + my $vars = { + config => $config, + advisory => $adv, + advdb => $advdb, + basename => \%basename, + tools => \%tools, + }; + my $advtxt; + process_template($template, 'advisory', $vars, \$advtxt, 'txt'); + print $advtxt; +} + 1; @@ -33,6 +33,15 @@ Create a new advisory file. [type] should be security or bugfix and [bugnum] is the bugzilla bug number. END }, + show => { + run => \&showadv, + descr => 'Show an advisory', + usage => <<END, +$0 show [ID] + +Show an advisory. +END + }, usage => { run => \&usage, descr => 'Show usage informations for an action', @@ -87,6 +96,14 @@ sub listadv { MGA::Advisories::listadv(\%advdb); } +sub showadv { + usageexit('usage', $_[0]) unless @_ == 2; + my $adv = $_[1]; + my %advdb; + $advdb{advisories} = MGA::Advisories::get_advisories(); + MGA::Advisories::showadv(\%advdb, $adv); +} + if (@ARGV == 0 || !$actions{$ARGV[0]}) { usageexit(); } |