Author: lkundrak
Update of /cvs/fedora/fedora-security/tools/lib/Libexig In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv25032/lib/Libexig
Modified Files: Tag: lkundrak-tools-ng Bugzilla.pm Log Message: Understand aliases, so that add-tracking-bugs --cve=* can be used
Index: Bugzilla.pm =================================================================== RCS file: /cvs/fedora/fedora-security/tools/lib/Libexig/Bugzilla.pm,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -r1.1.2.3 -r1.1.2.4 --- Bugzilla.pm 9 Jan 2008 14:37:43 -0000 1.1.2.3 +++ Bugzilla.pm 23 Jan 2008 18:42:04 -0000 1.1.2.4 @@ -102,11 +102,41 @@ return $result->[0]; }
+# Take a bug id or alias and return id +sub resolve_alias +{ + my $self = shift; + my $bug = shift; + + my $call = $self->{rpc}->call('bugzilla.getBugSimple', $bug, @{$self->{creds}}); + + my $result = $call->result + or return $bug; + + return $result->{bug_id}; +} + +# Take a reference to list of scalars and replace +# bug aliases with ids in place +sub resolve_aliases +{ + my $self = shift; + my $bugs = shift; + my $i = 0; + + foreach my $bug (@{$bugs}) { + $bugs->[$i++] = $self->resolve_alias ($bug); + } + + return $bugs; +} + # Get bugs sub get_bugs { my $self = shift; - my $bugs = shift or die 'No bugs to fetch!'; + my $bugs = $self->resolve_aliases (shift) + or die 'No bugs to fetch!'; my $columns = shift; $columns = [] unless ($columns); # The default set
@@ -156,8 +186,7 @@ sub add_comment { my $self = shift; - - my $bug = shift or die 'No bug!'; + my $bug = shift; my $comment = shift or die 'No comment!';
if ($self->{dryrun}) {
security-commits@lists.fedoraproject.org