rev 1304 - in trunk/Email-LocalDelivery-Ezmlm: . lib/Email/LocalDelivery t

[prev] [thread] [next] [lurker] [Date index for 2003/08/11]

From: richardc
Subject: rev 1304 - in trunk/Email-LocalDelivery-Ezmlm: . lib/Email/LocalDelivery t
Date: 07:33 on 11 Aug 2003
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