aboutsummaryrefslogtreecommitdiff
path: root/parse-remind
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2014-09-18 16:37:16 -0300
committerSilvio Rhatto <user@example.org>2014-09-18 16:37:16 -0300
commit897140b3fef3aa51990ba28f838a28764304b6b7 (patch)
tree80e753d212caa6ac52ea8ecd184b65f81f50ad38 /parse-remind
downloadutils-calendar-897140b3fef3aa51990ba28f838a28764304b6b7.tar.gz
utils-calendar-897140b3fef3aa51990ba28f838a28764304b6b7.tar.bz2
Initial import
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);