aboutsummaryrefslogtreecommitdiff
path: root/parse-remind
diff options
context:
space:
mode:
Diffstat (limited to 'parse-remind')
-rwxr-xr-xparse-remind41
1 files changed, 41 insertions, 0 deletions
diff --git a/parse-remind b/parse-remind
new file mode 100755
index 0000000..bdd9f23
--- /dev/null
+++ b/parse-remind
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+#
+# This script is designed to have an email piped to it eg. from mutt.
+# It will split apart all the text/calendar attachments and enter them into
+# the 'remind' calendar.
+#
+
+use strict;
+use warnings;
+
+use MIME::Parser;
+
+my $CONVERT = '~/.mutt/ical2rem.pl';
+my $REMINDERS = '~/remind/mutt.rem';
+
+################################################################################
+
+my $parser = new MIME::Parser;
+$parser->output_under('/tmp');
+my $entity = $parser->parse(\*STDIN);
+
+my @parts = $entity->parts();
+my $count = 0;
+
+foreach my $part (@parts) {
+ if ($part->head->mime_type eq 'text/calendar') {
+ my $body = $part->bodyhandle;
+ my $cmd = $CONVERT.' '.$body->path.' >> '.$REMINDERS;
+ print STDERR `$cmd`;
+ last if ($? != 0);
+ $count++;
+ }
+}
+
+$parser->filer->purge;
+if ($count == 0) {
+ print STDERR "No calendar entries found.";
+ exit(1);
+}
+
+exit(0);