diff --git a/src/hash-utils.rkt b/src/hash-utils.rkt new file mode 100644 index 0000000..d551ae4 --- /dev/null +++ b/src/hash-utils.rkt @@ -0,0 +1,12 @@ +#lang racket/base + +(provide @ + @ref) + +(define-syntax @ + (syntax-rules () + [(_ v) v] + [(_ v k rest ...) (@ (@ref v 'k) rest ...)])) + +(define (@ref v k) + (and v (hash-ref v k (lambda () #f)))) diff --git a/src/packages.rkt b/src/packages.rkt index 70409f7..0f6b629 100644 --- a/src/packages.rkt +++ b/src/packages.rkt @@ -1,8 +1,6 @@ #lang racket/base -(provide @ - @ref - all-package-names +(provide all-package-names all-tags all-formal-tags sorted-package-names @@ -29,16 +27,7 @@ (require reloadable) (require "config.rkt") (require "daemon.rkt") - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(define-syntax @ - (syntax-rules () - [(_ v) v] - [(_ v k rest ...) (@ (@ref v 'k) rest ...)])) - -(define (@ref v k) - (and v (hash-ref v k (lambda () #f)))) +(require "hash-utils.rkt") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/src/sessions.rkt b/src/sessions.rkt index 4a2a6a3..5618c4f 100644 --- a/src/sessions.rkt +++ b/src/sessions.rkt @@ -11,11 +11,12 @@ (require "randomness.rkt") (require "config.rkt") +(require "hash-utils.rkt") (require reloadable) (define current-session (make-parameter #f)) (define session-lifetime - (* (or (hash-ref (config) 'session-lifetime-seconds #f) + (* (or (@ (config) session-lifetime-seconds) (* 7 24 60 60)) ;; one week in seconds 1000)) ;; convert to milliseconds diff --git a/src/site.rkt b/src/site.rkt index 1564730..ddfd404 100644 --- a/src/site.rkt +++ b/src/site.rkt @@ -23,6 +23,7 @@ (require reloadable) (require "daemon.rkt") (require "config.rkt") +(require "hash-utils.rkt") (define static-cached-directory (or (@ (config) static-cached-directory)