Debbugs::User(3pm)

πŸ’– Debbugs::User β€” User settings πŸ’–

okay bestie, so this is Debbugs::User, a Perl module from the User Contributed Perl Documentation corner of the universe. It's, like, all about user settings β€” your usertags, your categories, your whole vibe. It's giving "your personal bug-tracking aesthetic, filed in a text file". πŸŽ€


✨ SYNOPSIS ✨

the whole point, right up top, no gatekeeping:

use Debbugs::User qw(is_valid_user read_usertags write_usertags);

Debbugs::User::is_valid_user($userid);

$u = Debbugs::User::open($userid); $u = Debbugs::User::open(user =>
$userid, locked => 0);

$u = Debbugs::User::open(user => $userid, locked => 1); $u->write();

$u->{"tags"} $u->{"categories"} $u->{"is_locked"} $u->{"name"}

read_usertags(\%ut, $userid); write_usertags(\%ut, $userid);

those last four things? tags, categories, is_locked, and name β€” those are the keys you're gonna be poking at on your object. iconic access, no cap. πŸ’…


🌸 USERTAG FILE FORMAT 🌸

so the usertags live in a file, and that file has (roughly) RFC822 format β€” stanzas separated by newlines. roughly!! don't come for it. here's the whole example, exactly as it is:

Tag: search
Bugs: 73671, 392392

Value: priority
Bug-73671: 5
Bug-73487: 2

Value: bugzilla
Bug-72341: http://bugzilla/2039471
Bug-1022: http://bugzilla/230941

Category: normal
Cat1: status
Cat2: debbugs.tasks

Category: debbugs.tasks
Hidden: yes
Cat1: debbugs.tasks

Cat1Options:
 tag=quick
 tag=medium
 tag=arch
 tag=not-for-me

see the blank lines? those are the stanza breaks. that's the whole structural moment. πŸ¦‹


πŸŽ€ EXPORT TAGS πŸŽ€

  • :all β€” literally every function that can be exported. take the whole tray, bestie, no need to pick. 🫢

πŸ‘‘ FUNCTIONS πŸ‘‘

🌟 usertag_file_from_email

my $filename = usertag_file_from_email($email)

turns an email into the filename where the usertag can be located. email in, file path out. that's it. that's the transformation. ✨

🌟 new

my $user = Debbugs::User->new('foo@bar.com',$lock);

reads the user file associated with 'foo@bar.com' and hands you back a Debbugs::User object. main character constructor energy fr fr. πŸ’–


πŸ’€ OBSOLETE FUNCTIONS πŸ’€

bestie. these are obsolete. they're still documented because the manpage says so, but this is giving "we keep it around for the lore". πŸ™ˆ

read_usertags

read_usertags($usertags,$email)

write_usertags

write_usertags($usertags,$email);

this one gets a lock on the usertags, applies the usertags you passed in, and writes them out. lock β†’ apply β†’ write. periodt.


πŸ”’ PRIVATE FUNCTIONS πŸ”’

iykyk, this is the backstage area. stay out unless you're supposed to be here. πŸ’œ

_read_stanza

my @stanza = _read_stanza($fh);

reads a single stanza from a filehandle and returns it. one stanza, one shot, exactly that. 🧚

_wrap_to_length

_wrap_to_length

wraps a line to a specific length by splitting at commas. comma boundaries only, no rogue line breaking. 🌈


and that's the whole page!! Debbugs::User, as documented in the User Contributed Perl Documentation on perl v5.40.1, dated 2026-04-27. go forth and tag your bugs, bestie, you're gonna slay πŸŽ€βœ¨πŸ’–

πŸ“¦ where this page comes from