diff options
Diffstat (limited to 'cgi-bin')
-rw-r--r-- | cgi-bin/dict.cgi.in | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/cgi-bin/dict.cgi.in b/cgi-bin/dict.cgi.in index cbe2646..04eccd1 100644 --- a/cgi-bin/dict.cgi.in +++ b/cgi-bin/dict.cgi.in @@ -515,24 +515,28 @@ ;;; (define (dict-html) - (do ((line (read-line) (read-line))) - ((eof-object? line) #f) - (cond - ((string=? line "@@dict@@") - (main-form) - (dict-search)) - ((string=? line "@@stat_updated@@") - (display (stat #:updated))) - ((string=? line "@@stat_count@@") - (display - (let ((s (stat #:count))) - (if (string=? s "<>") - s - (let ((n (string->number s))) - (string-append s " " (ngettext "λέξη" "λέξεις" n))))))) - (else - (display line) - (newline))))) + (let ((explist (list + (cons "@@dict@@" + (lambda () + (main-form) + (dict-search))) + (cons "@@stat_updated@@" + (lambda () + (display (stat #:updated)))) + (cons "@@stat_count@@" + (lambda () + (display + (let ((s (stat #:count))) + (if (string=? s "<>") + s + (let ((n (string->number s))) + (string-append s " " + (ngettext "λέξη" "λέξεις" + n))))))))))) + (do ((line (read-line) (read-line))) + ((eof-object? line) #f) + (expand-template explist line) + (newline)))) ;;; Main (display "Content-type: text/html; charset=utf-8\r\n\r\n") |