use strict;
use Fcntl ':flock';
use vars qw($VERSION $DEBUG %EXPORT_TAGS @EXPORT_OK @EXPORT);
-use base qw(Exporter);
+use Exporter qw(import);
use Debbugs::Config qw(:config);
-use List::Util qw(min);
+use List::AllUtils qw(min);
use Carp;
use IO::File;
return ($u =~ /^[a-zA-Z0-9._+-]+[@][a-z0-9-.]{4,}$/);
}
+=head2 usertag_file_from_email
+
+ my $filename = usertag_file_from_email($email)
+
+Turns an email into the filename where the usertag can be located.
+
+=cut
+
+sub usertag_file_from_email {
+ my ($email) = @_;
+ my $email_length = length($email) % 7;
+ my $escaped_email = $email;
+ $escaped_email =~ s/([^0-9a-zA-Z_+.-])/sprintf("%%%02X", ord($1))/eg;
+ return "$config{usertag_dir}/$email_length/$escaped_email";
+}
+
+
#######################################################################
# The real deal
};
bless $self, $class;
- $self->{filename} = _file_from_email($self->{email});
+ $self->{filename} = usertag_file_from_email($self->{email});
if (not -r $self->{filename}) {
return $self;
}
sub read_usertags {
my ($usertags,$email) = @_;
- carp "read_usertags is deprecated";
+# carp "read_usertags is deprecated";
my $user = get_user($email);
for my $tag (keys %{$user->{"tags"}}) {
$usertags->{$tag} = [] unless defined $usertags->{$tag};
sub write_usertags {
my ($usertags,$email) = @_;
- carp "write_usertags is deprecated";
+# carp "write_usertags is deprecated";
my $user = Debbugs::User->new($email,1); # locked
$user->{"tags"} = { %{$usertags} };
$user->write();
=head1 PRIVATE FUNCTIONS
-=head2 _file_from_email
-
- my $filename = _file_from_email($email)
-
-Turns an email into the filename where the usertag can be located.
-
-=cut
-
-sub _file_from_email {
- my ($email) = @_;
- my $email_length = length($email) % 7;
- my $escaped_email = $email;
- $escaped_email =~ s/([^0-9a-zA-Z_+.-])/sprintf("%%%02X", ord($1))/eg;
- return "$config{usertag_dir}/$email_length/$escaped_email";
-}
-
=head2 _read_stanza
my @stanza = _read_stanza($fh);
sub _wrap_to_length {
my ($content,$line_length) = @_;
- my $current_line_length;
+ my $current_line_length = 0;
my $result = "";
while ($content =~ m/^([^,]*,\s*)(.*)$/ || $content =~ m/^([^,]+)()$/) {
my $current_word = $1;
1;
__END__
-# -*- cperl-set-style: PerlStyle -*-