From e98d984bb167d8d09cdab1a810e9c3536af972de Mon Sep 17 00:00:00 2001 From: cos Date: Sat, 21 Feb 2015 16:16:43 +0100 Subject: Add cmd_setcomment(). --- mat | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'mat') diff --git a/mat b/mat index 3fa9d8c..42b104e 100755 --- a/mat +++ b/mat @@ -162,6 +162,39 @@ sub cmd_setmeal { return 0; } +sub cmd_setcomment { + my ( $date, $mealtype, $comment ) = @_; + + if ($date =~ /^Mon|Tue|Wed|Thu|Fri|Sat|Sun/) { + my $wday; + $wday = 1 if ($date =~ /^Mon/); + $wday = 2 if ($date =~ /^Tue/); + $wday = 3 if ($date =~ /^Wed/); + $wday = 4 if ($date =~ /^Thu/); + $wday = 5 if ($date =~ /^Fri/); + $wday = 6 if ($date =~ /^Sat/); + $wday = 7 if ($date =~ /^Sun/); + + my $dt = DateTime->now(); + while ($dt->wday() != $wday) { + $dt->add(days => 1); + } + + $date = $dt->ymd(); + } + return unless $mealtype =~ "^(frukost)|(elvakaffe)|(lunch)|(fruktstund)|(middag)\$"; + return unless $date =~ "^[0-9]{4}-[0-9]{2}-[0-9]{2}\$"; + + my $sql = "INSERT INTO comments VALUES (NULL, '$comment');"; + $db->do($sql); + my $comment_id = $db->last_insert_id(undef, undef, undef, undef); + $sql = "INSERT INTO plan (date, mealtype, comment_id) VALUES ('$date', + '$mealtype', $comment_id);"; + $db->do($sql); + + return 0; +} + sub cmd_movemeal { my ( $source, $destination ) = @_; my $mealtype = "lunch"; @@ -477,6 +510,7 @@ sub cmd_help() { print "showrecipe \n"; print "movemeal \n"; print "setmeal \n"; + print "setcomment \n"; print "randmeal \n"; print "showplan [days] [date]\n"; print "postpone \n"; @@ -815,6 +849,8 @@ if ($ARGV[0]) { print "Command failed!\n" unless (cmd_movemeal($ARGV[1], $ARGV[2]) >= 0); } elsif ( $ARGV[0] eq "setmeal") { print "Command failed!\n" unless (cmd_setmeal($ARGV[1], $ARGV[2], $ARGV[3]) >= 0); + } elsif ( $ARGV[0] eq "setcomment") { + print "Command failed!\n" unless (cmd_setcomment($ARGV[1], $ARGV[2], $ARGV[3]) >= 0); } elsif ( $ARGV[0] eq "randmeal") { print "Command failed!\n" unless (cmd_randmeal($ARGV[1]) >= 0); } elsif ( $ARGV[0] eq "showplan") { -- cgit v1.2.3