]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/User.pm
support usertags in Debbugs::Bug and Debbugs::Bug::Tag
[debbugs.git] / Debbugs / User.pm
index 2457e54c4e5d51633794b909c2f18f0e2f9da004..3c4cf6a02da445d3a33d4c764e0847409b981cac 100644 (file)
@@ -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;