#!/usr/bin/env perl # The above is a portable way to invoke Perl, according to the GNU Autotools # book. It is useful since we don't know where perl is installed. # # evolution-move-tasks: a Perl script to move tasks from the Calendar folder # to the new Tasks folder. # use diagnostics; # You may have to change this if your Evolution files are somewhere else. $EVOLUTION_DIR = "$ENV{'HOME'}/evolution"; $CALENDAR_DIR = "$EVOLUTION_DIR/local/Calendar"; $TASKS_DIR = "$EVOLUTION_DIR/local/Tasks"; # Create the Tasks folder if needed. &EnsureTasksFolderExists ($TASKS_DIR); # Get any tasks from the calendar .ics file. $tasks = &LoadTasks ("$CALENDAR_DIR/calendar.ics"); # Get any tasks already in the tasks .ics file. $tasks .= &LoadTasks ("$TASKS_DIR/tasks.ics"); # Create a new Tasks .ics file containing all the tasks. &OutputTasks ("$TASKS_DIR/tasks.new", $tasks); # Move the existing tasks file to a backup. if (-e "$TASKS_DIR/tasks.ics") { rename "$TASKS_DIR/tasks.ics", "$TASKS_DIR/tasks.bak" || die "Can't rename $TASKS_DIR/tasks.ics to $TASKS_DIR/tasks.bak"; } # Move the new file into position. rename "$TASKS_DIR/tasks.new", "$TASKS_DIR/tasks.ics" || die "Can't rename $TASKS_DIR/tasks.new to $TASKS_DIR/tasks.ics"; # Move the new Calendar file (without the Tasks) into position. rename "$CALENDAR_DIR/calendar.ics.new", "$CALENDAR_DIR/calendar.ics" || die "Can't rename $TASKS_DIR/tasks.new to $TASKS_DIR/tasks.ics"; 0; # If the evolution/local/Tasks folder does not exist, this creates it and # creates the metadata XML file. sub EnsureTasksFolderExists { my ($tasks_dir) = @_; return if (-e $tasks_dir); print "Creating Tasks folder in: $tasks_dir\n"; mkdir ($tasks_dir, 0777) || die "Can't create Tasks folder directory: $tasks_dir"; $metadata = "$tasks_dir/folder-metadata.xml"; open (METADATA, ">$metadata") || die "Can't create metadata file: $metadata"; print METADATA <<EOF; <?xml version="1.0"?> <efolder> <type>tasks</type> <description>Tasks</description> </efolder> EOF close (METADATA); } sub LoadTasks { my ($icalendar_file) = @_; return "" if (! -e $icalendar_file); open (ICSFILE, $icalendar_file) || die "Can't open iCalendar file: $icalendar_file"; open (NEWICSFILE, ">$icalendar_file.new") || die "Can't open iCalendar file: $icalendar_file.new"; $tasks = ""; $in_task = 0; while (<ICSFILE>) { if ($in_task) { $tasks .= $_; if (m/^END:VTODO/) { $in_task = 0; } } else { if (m/^BEGIN:VTODO/) { print "Found task\n"; $tasks .= $_; $in_task = 1; } else { print NEWICSFILE $_; } } } close (NEWICSFILE); close (ICSFILE); return $tasks; } sub OutputTasks { my ($icalendar_file, $tasks) = @_; open (ICSFILE, ">$icalendar_file") || die "Can't create iCalendar file: $icalendar_file"; print ICSFILE <<EOF; BEGIN:VCALENDAR CALSCALE :GREGORIAN PRODID :-//Helix Code//NONSGML Evolution Calendar//EN VERSION :2.0 $tasks END:VCALENDAR EOF close (ICSFILE); } ndabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option> <option value='gnome-3.22'>gnome-3.22</option> <option value='gnome-3.24'>gnome-3.24</option> <option value='gnome-3.26'>gnome-3.26</option> <option value='gnome-3.28'>gnome-3.28</option> <option value='gnome-3.32'>gnome-3.32</option> <option value='gnome-3.36'>gnome-3.36</option> <option value='gstreamer'>gstreamer</option> <option value='gstreamer-1.16'>gstreamer-1.16</option> <option value='gstreamer0.10-removal'>gstreamer0.10-removal</option> <option value='main'>main</option> <option value='master'>master</option> <option value='mate-1.16'>mate-1.16</option> <option value='mate-1.18' selected='selected'>mate-1.18</option> <option value='mate-1.20'>mate-1.20</option> <option value='mate-1.22'>mate-1.22</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/?h=mate-1.18'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/?h=mate-1.18'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?h=mate-1.18&id=4834541003faecd48145c24ebeb9d9089cb07a09'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/cad/irsim?h=mate-1.18'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/cad/irsim?h=mate-1.18&id=4834541003faecd48145c24ebeb9d9089cb07a09'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=4834541003faecd48145c24ebeb9d9089cb07a09'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/cad/irsim?h=mate-1.18&id=4834541003faecd48145c24ebeb9d9089cb07a09'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/cad/irsim?h=mate-1.18'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/cad/irsim'> <input type='hidden' name='h' value='mate-1.18'/><input type='hidden' name='id' value='4834541003faecd48145c24ebeb9d9089cb07a09'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?h=mate-1.18&id=4834541003faecd48145c24ebeb9d9089cb07a09'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/cad?h=mate-1.18&id=4834541003faecd48145c24ebeb9d9089cb07a09'>cad</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/cad/irsim?h=mate-1.18&id=4834541003faecd48145c24ebeb9d9089cb07a09'>irsim</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/cad/irsim?h=mate-1.18&id=4834541003faecd48145c24ebeb9d9089cb07a09&showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=fe8f56487b5a9465d52207cace44d0755a69c537'>- Update to 9.7.72.</a></td><td>stas</td><td><span title='2009-12-15 12:00:14 +0800'>2009-12-15</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=acf182103407e019d7ac2dc89eacfe2ab4a14c24'>- Update to 9.7.71.</a></td><td>stas</td><td><span title='2009-06-09 20:14:10 +0800'>2009-06-09</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=74a4dc231af2c5e5c5511d5c089cac68279f5e42'>- Update to 9.7.70.</a></td><td>stas</td><td><span title='2009-02-09 04:06:32 +0800'>2009-02-09</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=1a230c67f016afd9095eaf082b187c5614e3a94c'>- Update to 9.7.68.</a></td><td>stas</td><td><span title='2008-07-26 07:11:05 +0800'>2008-07-26</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=a506faf2217b32ee4dfaae94f453fee5ab8f1bf2'>- Update to 9.7.66.</a></td><td>stas</td><td><span title='2008-05-15 16:52:12 +0800'>2008-05-15</span></td><td>3</td><td><span class='deletions'>-5</span>/<span class='insertions'>+6</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=bce9b81f9d6099820f3839d7809d6b08c1d2ae7b'>- Remove unneeded dependency from gtk12/gtk20 [1]</a></td><td>miwi</td><td><span title='2008-04-20 01:56:05 +0800'>2008-04-20</span></td><td>1</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=324de4a46186e3b1127d7216b8b49bf2bbfa475c'>- Update to 9.7.64.</a></td><td>stas</td><td><span title='2008-04-14 02:51:59 +0800'>2008-04-14</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=5e5c2707f87a29fbbf66cd20c897c3ff171e092c'>- Update to 9.7.56.</a></td><td>stas</td><td><span title='2007-09-15 20:22:39 +0800'>2007-09-15</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=aad95ab204858f051f6b3151266c42c29fab7035'>- Update to 9.7.54.</a></td><td>stas</td><td><span title='2007-09-13 22:03:23 +0800'>2007-09-13</span></td><td>2</td><td><span class='deletions'>-5</span>/<span class='insertions'>+5</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=87f4d471fb27b9547c1a0de221b51f4c31684157'>- Welcome X.org 7.2 \o/.</a></td><td>flz</td><td><span title='2007-05-20 04:36:56 +0800'>2007-05-20</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=d57a2e372bc266094bc8de73395755172e3ca1f2'>- Update to 9.7.47.</a></td><td>stas</td><td><span title='2007-03-27 21:57:31 +0800'>2007-03-27</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/cad/irsim?h=mate-1.18&id=2213d8ac9e8dc5d90868ec82af11ab805858d6ba'>- Update to 9.7.46.</a></td><td>stas</td><td><span title='2007-03-20 04:35:06 +0800'>2007-03-20</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr>