[prev] [thread] [next] [lurker] [Date index for 2004/04/05]
On Mon, Apr 05, 2004 at 06:54:03PM +0100, Simon Wistow wrote: > Bit icky but it's a stab > > Simon > Index: lib/Siesta/Plugin/Digest.pm > +# TODO do this on a time basis? I imagine we can refactor and wrap the make a digest code out, so then we write something small like: # send_daily_digests use Siesta; for my $digest ( Siesta::Plugin->search(name => "Digest") ) { my @send_to = grep { $digest->member($_); $digest->pref( 'digest' ); } $digest->list->members; # ... send } As either a nacho component, or in a module somewhere. > + # we should probably lock this > + if (-f $path) { > + unlink($path) || die "Couldn't unlink '$path'\n"; > + } else { > + chdir($path) || die "Couldn't chdir to '$path'\n"; > + unlink(<*>) || die "Couldn't unlink '$path/*'\n"; > + } Urgh. Let's just always use an mbox for this - it preserves the arrival order, and is easier to clean up. > +# get the number of digests and the body of the digest > +sub get_digest { > +} This does too much work, and I'd sooner just use something like MIME::Lite so we can send the digested messages as a set of message/rfc-822 chunks (hidden surprise toy - people with suitable MUAs can reply to just the message they meant and appear in the right place in the thread). > +sub options { > + my $self = shift; > + my $name = $self->list->name; > + +{ > + path => { > + description => "where to spool the digest", > + type => "string", > + default => "$Siesta::Config::DIGEST/$name/", > + }, > + messages => { > + description => "how many messages to spool before sending the digest", > + type => "number", > + default => "20", > + } > + }; > +} Okay, one small problem - where does the user get to say "I want this digested". Also did we invent a way for listadmin and user prefs to co-exist yet? I disremember, but it seems pretty vital for here. Asides from those comments, I'd say it looks pretty much there. -- Richard Clamp <richardc@xxxxxxxxx.xxx>
Generated at 13:56 on 01 Jul 2004 by mariachi 0.52