X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FUser.pm;h=3c4cf6a02da445d3a33d4c764e0847409b981cac;hb=cc06d9ad3fdd35582118b87fa1b2be5d5b0de7db;hp=2457e54c4e5d51633794b909c2f18f0e2f9da004;hpb=b12ebdaa6068e5bb808f4ff480d832e970fd3520;p=debbugs.git diff --git a/Debbugs/User.pm b/Debbugs/User.pm index 2457e54..3c4cf6a 100644 --- a/Debbugs/User.pm +++ b/Debbugs/User.pm @@ -154,6 +154,7 @@ sub new { "visible_cats" => [], "unknown_stanzas" => [], values => {}, + bug_tags => {}, email => $email, }; bless $self, $class; @@ -176,7 +177,12 @@ sub new { my %tag = @stanza; my $t = $tag{"Tag"}; $ut->{$t} = [] unless defined $ut->{$t}; - push @{$ut->{$t}}, split /\s*,\s*/, $tag{Bugs}; + my @bugs = split /\s*,\s*/, $tag{Bugs}; + push @{$ut->{$t}}, @bugs; + for my $bug (@bugs) { + push @{$self->{bug_tags}{$bug}}, + $t; + } } elsif ($stanza[0] eq "Category") { my @cat = (); my %stanza = @stanza; @@ -235,6 +241,22 @@ sub new { return $self; } +sub email { + my $self = shift; + return $self->{email}; +} + +sub tags { + my $self = shift; + + return $self->{"tags"}; +} + +sub tags_on_bug { + my $self = shift; + return map {@{$self->{"bug_tags"}{$_}//[]}} @_; +} + sub write { my $self = shift;