[prev] [thread] [next] [lurker] [Date index for 2003/08/11]
Author: richardc Date: 2003-08-11 07:33:24 +0100 (Mon, 11 Aug 2003) New Revision: 1304 Added: trunk/Email-LocalDelivery-Ezmlm/Changes trunk/Email-LocalDelivery-Ezmlm/MANIFEST trunk/Email-LocalDelivery-Ezmlm/MANIFEST.SKIP trunk/Email-LocalDelivery-Ezmlm/t/ trunk/Email-LocalDelivery-Ezmlm/t/ezmlm.t Modified: trunk/Email-LocalDelivery-Ezmlm/Build.PL trunk/Email-LocalDelivery-Ezmlm/lib/Email/LocalDelivery/Ezmlm.pm Log: close to being done Modified: trunk/Email-LocalDelivery-Ezmlm/Build.PL =================================================================== --- trunk/Email-LocalDelivery-Ezmlm/Build.PL 2003-08-11 06:18:45 UTC (rev 1303) +++ trunk/Email-LocalDelivery-Ezmlm/Build.PL 2003-08-11 06:33:24 UTC (rev 1304) @@ -9,6 +9,7 @@ }, requires => { 'Email::LocalDelivery' => 0, + 'Email::FolderType' => '0.6', }, create_makefile_pl => 'traditional', ) Added: trunk/Email-LocalDelivery-Ezmlm/Changes =================================================================== --- trunk/Email-LocalDelivery-Ezmlm/Changes 2003-08-11 06:18:45 UTC (rev 1303) +++ trunk/Email-LocalDelivery-Ezmlm/Changes 2003-08-11 06:33:24 UTC (rev 1304) @@ -0,0 +1,2 @@ +0.01 Monday 11th August, 2003 + initial release Added: trunk/Email-LocalDelivery-Ezmlm/MANIFEST =================================================================== --- trunk/Email-LocalDelivery-Ezmlm/MANIFEST 2003-08-11 06:18:45 UTC (rev 1303) +++ trunk/Email-LocalDelivery-Ezmlm/MANIFEST 2003-08-11 06:33:24 UTC (rev 1304) @@ -0,0 +1,8 @@ +Makefile.PL +Build.PL +META.yml +Changes +MANIFEST +README +lib/Email/LocalDelivery/Ezmlm.pm +t/ezmlm.t Added: trunk/Email-LocalDelivery-Ezmlm/MANIFEST.SKIP =================================================================== --- trunk/Email-LocalDelivery-Ezmlm/MANIFEST.SKIP 2003-08-11 06:18:45 UTC (rev 1303) +++ trunk/Email-LocalDelivery-Ezmlm/MANIFEST.SKIP 2003-08-11 06:33:24 UTC (rev 1304) @@ -0,0 +1,10 @@ +MANIFEST.SKIP +.cvsignore +\.svn +blib/ +^Makefile$ +pm_to_blib +_build +^Build$ +~$ +^t/sample/ Modified: trunk/Email-LocalDelivery-Ezmlm/lib/Email/LocalDelivery/Ezmlm.pm =================================================================== --- trunk/Email-LocalDelivery-Ezmlm/lib/Email/LocalDelivery/Ezmlm.pm 2003-08-11 06:18:45 UTC (rev 1303) +++ trunk/Email-LocalDelivery-Ezmlm/lib/Email/LocalDelivery/Ezmlm.pm 2003-08-11 06:33:24 UTC (rev 1304) @@ -1,6 +1,8 @@ use strict; package Email::LocalDelivery::Ezmlm; our $VERSION = '0.10'; +use File::Path qw(mkpath); +use File::Basename qw( dirname ); =head1 NAME @@ -8,6 +10,9 @@ =head1 SYNOPSIS + use Email::LocalDelivery; + Email::LocalDelivery->deliver($mail, "/some/box//") or die "couldn't deliver"; + =head1 DESCRIPTION This module delivers RFC822 messages into ezmlm-style archive folders. @@ -16,7 +21,6 @@ L<Siesta> and L<colobus>. Colobus is an nntp server which uses ezmlm archives as its message store. - =head1 METHODS =head2 ->deliver( $message, @folders ) @@ -31,22 +35,24 @@ my @delivered; for my $folder (@folders) { + # trim the identifier off, as mkpath doesn't get on with it + $folder =~ s{//?$}{}; # XXX should lock the folder - figure out how ezmlm does that my $num; if (open my $fh, "$folder/num") { - ($num) = (<$fh> =~ m/^\(d+)/); + ($num) = (<$fh> =~ m/^(\d+)/); } ++$num; my $filename = sprintf('%s/archive/%d/%02d', - $folder, $num / 100, $num % 100); + $folder, int $num / 100, $num % 100); eval { mkpath( dirname $filename ) }; open my $fh, ">$filename" or next; print $fh $mail; close $fh or next; - open my $fh, ">$folder/num" or do { unlink $filename; next }; + open $fh, ">$folder/num" or do { unlink $filename; next }; print $fh "$num\n"; close $fh or die "couldn't rewrite '$folder/num' $!"; push @delivered, $filename; @@ -72,7 +78,8 @@ =head1 SEE ALSO -L<colobus|http://trainedmonkey.com/colobus/>, L<Email::LocalDelivery> +L<colobus|http://trainedmonkey.com/colobus/>, L<Email::LocalDelivery>, +L<Email::FolderType> =cut Added: trunk/Email-LocalDelivery-Ezmlm/t/ezmlm.t =================================================================== --- trunk/Email-LocalDelivery-Ezmlm/t/ezmlm.t 2003-08-11 06:18:45 UTC (rev 1303) +++ trunk/Email-LocalDelivery-Ezmlm/t/ezmlm.t 2003-08-11 06:33:24 UTC (rev 1304) @@ -0,0 +1,7 @@ +#!perl -w +use strict; +use Test::More tests => 2; +use Email::LocalDelivery; + +ok( Email::LocalDelivery->deliver("I am the eggplant" => 't/ezmlm//'), "delivery" ); +ok( -e "t/ezmlm/archive/0/01", "file is there" );
Generated at 13:57 on 01 Jul 2004 by mariachi 0.52