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}) {
Show replies by date