summaryrefslogtreecommitdiff
path: root/lib/Feed/MailDir.pm
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2012-12-09 15:30:06 +0000
committerdakkar <dakkar@thenautilus.net>2012-12-09 15:30:06 +0000
commit7a005adbf486cbb6c3f64ba26b1aa97c2f696025 (patch)
tree29f1e82702d43f5e1710a990416d2b032065db50 /lib/Feed/MailDir.pm
parentmaildir publisher (diff)
downloadfeeder-7a005adbf486cbb6c3f64ba26b1aa97c2f696025.tar.gz
feeder-7a005adbf486cbb6c3f64ba26b1aa97c2f696025.tar.bz2
feeder-7a005adbf486cbb6c3f64ba26b1aa97c2f696025.zip
renaming roles
Diffstat (limited to 'lib/Feed/MailDir.pm')
-rw-r--r--lib/Feed/MailDir.pm76
1 files changed, 0 insertions, 76 deletions
diff --git a/lib/Feed/MailDir.pm b/lib/Feed/MailDir.pm
deleted file mode 100644
index 4b8f542..0000000
--- a/lib/Feed/MailDir.pm
+++ /dev/null
@@ -1,76 +0,0 @@
-package Feed::MailDir;
-use Moose::Role;
-use 5.016;
-use namespace::autoclean;
-use Encode;
-use Encode::IMAPUTF7;
-use MooseX::Types::Path::Class 'Dir';
-use Maildir::Lite;
-
-with 'Feed::Mail';
-
-requires 'extract_entries';
-
-has maildir_base => (
- is => 'ro',
- isa => Dir,
- coerce => 1,
- required => 1,
-);
-
-has maildir_folder => (
- is => 'ro',
- isa => 'Maildir::Lite',
- lazy_build => 1,
-);
-
-sub _build_maildir_folder {
- my ($self) = @_;
-
- my $feed = $self->feed;
-
- my $folder = encode('IMAP-UTF-7',$self->maildir_folder_for($feed));
-
- $self->maildir_base->mkpath;
-
- return Maildir::Lite->new(
- dir => $self->maildir_base->subdir($folder)->stringify,
- );
-}
-
-sub process_entry {
- my ($self,$entry) = @_;
-
- my ($msg) = $self->entry_to_mime($entry);
-
- $self->store_into_maildir($msg);
-
- return;
-}
-
-sub _clean_folder_part {
- return map { s{\W+}{-}gr } @_;
-}
-
-sub maildir_folder_for {
- my ($self,$feed) = @_;
-
- my (@comps) = _clean_folder_part($self->mail_folders,$self->title);
- return join '.','',@comps;
-}
-
-sub store_into_maildir {
- my ($self,$msg) = @_;
-
- my ($fh,$stat) = $self->maildir_folder->creat_message();
- die "maildir create message failed ($stat)" if $stat;
-
- binmode($fh);
- $msg->print($fh)
- or die "print to maildir failed: $!";
-
- $self->maildir_folder->deliver_message($fh)
- and die "maildir write failed";
-}
-
-1;