Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (next-event [search ""])
- (let ([event
- (if (non-empty-string? search)
- (query-maybe-row db "SELECT date, description FROM events
- WHERE date > datetime(\"now\")
- AND description LIKE $1
- LIMIT 1"
- (string-append "%" search "%"))
- (query-maybe-row db "SELECT date, description FROM events
- WHERE date > datetime(\"now\")
- LIMIT 1"))])
- (if event
- (let ([delta (period-between (now/utc)
- (sql-datetime->datetime (vector-ref event 0)))]
- [time (sql-datetime->datetime (vector-ref event 0))]
- [hour (number->string (->hours (sql-datetime->datetime (vector-ref event 0))))]
- [minute (number->string (->minutes (sql-datetime->datetime (vector-ref event 0))))]
- [days (number->string (period-ref (period-between (now/utc)
- (sql-datetime->datetime (vector-ref event 0)))
- 'days))]
- [hours (number->string (period-ref (period-between (now/utc)
- (sql-datetime->datetime (vector-ref event 0)))
- 'hours))]
- [minutes (number->string (period-ref (period-between (now/utc)
- (sql-datetime->datetime (vector-ref event 0)))
- 'minutes))]
- [description (vector-ref event 1)]
- [wday (cond
- [(monday? (sql-datetime->datetime (vector-ref event 0))) "Monday"]
- [(tuesday? (sql-datetime->datetime (vector-ref event 0))) "Tuesday"]
- [(wednesday? (sql-datetime->datetime (vector-ref event 0))) "Wednesday"]
- [(thursday? (sql-datetime->datetime (vector-ref event 0))) "Thursday"]
- [(friday? (sql-datetime->datetime (vector-ref event 0))) "Friday"]
- [(saturday? (sql-datetime->datetime (vector-ref event 0))) "Saturday"]
- [(sunday? (sql-datetime->datetime (vector-ref event 0))) "Sunday"])])
- (format "~a ~a:~a UTC | ~a | ~a day(s), ~a hour(s), ~a minute(s)"
- wday
- (if (eq? (string-length hour) 2)
- hour
- (string-append "0" hour))
- (if (eq? (string-length minute) 2)
- minute
- (string-append "0" minute))
- description
- days
- hours
- minutes))
- "No event found.")))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement