From e8bb2259ece5b1e0865247955873fcbbc03bcc70 Mon Sep 17 00:00:00 2001 From: Stefan Schlott Date: Wed, 10 Dec 2014 12:42:10 +0100 Subject: [PATCH] Script for creating reminder tweet texts from ical --- content/ical.txt | 2 +- scripts/tweet-reminders.rb | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100755 scripts/tweet-reminders.rb diff --git a/content/ical.txt b/content/ical.txt index 21bd0381..730a0e0a 100644 --- a/content/ical.txt +++ b/content/ical.txt @@ -30,4 +30,4 @@ cal = RiCal.Calendar do |cal| end end end -%><%= cal.to_s %> +%><%= cal.to_s.strip %> diff --git a/scripts/tweet-reminders.rb b/scripts/tweet-reminders.rb new file mode 100755 index 00000000..b90870af --- /dev/null +++ b/scripts/tweet-reminders.rb @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +# encoding: utf-8 + +require 'date' +require 'ri_cal' + + +days=ARGV[0].to_i +infotext=ARGV[1] + +outputlen=140 +urllen=24 + +RiCal.parse($stdin).each do |calendar| + calendar.events.each do |event| + start = event.dtstart.to_date + if (start-Date.today())==days + output = "#{infotext} #{event.summary}".byteslice(0,outputlen) + if event.url and event.url.length>0 + if output.length + urllen + 1 > outputlen + output = "#{output.byteslice(0,outputlen - urllen - 1)} #{event.url}" + else + output = "#{output} #{event.url}" + end + end + puts output + end + end +end