From 77c9a177b2b595d4ce25095b58e2388fe33cc97a Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Wed, 13 Jun 2018 21:36:56 -0700 Subject: init --- journal-reminder.ros | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 journal-reminder.ros (limited to 'journal-reminder.ros') diff --git a/journal-reminder.ros b/journal-reminder.ros new file mode 100755 index 0000000..500be53 --- /dev/null +++ b/journal-reminder.ros @@ -0,0 +1,36 @@ +#!/bin/sh +#|-*- mode:lisp -*-|# +#| +exec ros -Q -- $0 "$@" +|# + +(defpackage :me.bsima.journal-reminder (:use :cl)) +(in-package :me.bsima.journal-reminder) + +(defparameter *journal-dir* "/home/ben/Dropbox/org/journal") + +(defun today-string () + (multiple-value-bind (second minute hour day month year) + (get-decoded-time) + (declare (ignore second minute hour)) + (format nil "~d~d~d" year month day))) + +(defun mk-journal-file (journal-dir date) + (format nil "~a/~a" journal-dir date)) + +(defun journaled-today? () + (let ((journal-file (mk-journal-file *journal-dir* (today-string)))) + (if (probe-file journal-file) + T + nil))) + +(defun journal-reminder (&rest argv) + (declare (ignorable argv)) + ;; If journal-dir argumen is supplied, use it + (let ((*journal-dir* (or (first argv) *journal-dir*))) + (if (journaled-today?) + nil + (format t "You still need to journal!~%")))) + +(defun main (&rest argv) + (apply #'journal-reminder argv)) -- cgit v1.2.3