@@ -17,23 +17,34 @@ (sorted (sort name-time (lambda (a b)(> (cdr a)(cdr b))))) (last-name (if (null? sorted) #f (caar sorted)))) last-name)))) - + ;; example of how to set up and write target mappers ;; -(define *target-mappers* - `((prefix-contour . ,(lambda (target run-name area area-path reason contour mode-patt) - (conc contour "/" target))) - (prefix-area-contour . ,(lambda (target run-name area area-path reason contour mode-patt) - (conc area "/" contour "/" target))))) - -(define *runname-mappers* - `((corporate-ww . ,(lambda (target run-name area area-path reason contour mode-patt) - (let* ((last-name (get-last-runname area-path target)) - (last-letter (if (string? last-name) - (let ((len (string-length last-name))) - (substring last-name (- len 1) len)) - "a")) - (next-letter (list->string (list (integer->char (+ (char->integer (string-ref last-letter 0)) 1)))))) ;; surely there is an easier way? - (conc (seconds->wwdate (current-seconds)) next-letter)))))) +(hash-table-set! *target-mappers* + 'prefix-contour + (lambda (target run-name area area-path reason contour mode-patt) + (conc contour "/" target))) +(hash-table-set! *target-mappers* + 'prefix-area-contour + (lambda (target run-name area area-path reason contour mode-patt) + (conc area "/" contour "/" target))) + +(hash-table-set! *runname-mappers* + 'corporate-ww + (lambda (target run-name area area-path reason contour mode-patt) + (let* ((last-name (get-last-runname area-path target)) + (last-letter (if (string? last-name) + (let ((len (string-length last-name))) + (substring last-name (- len 1) len)) + "a")) + (next-letter (list->string + (list + (integer->char + (+ (char->integer (string-ref last-letter 0)) 1)))))) ;; surely there is an easier way? + ;; (print "last-name: " last-name " last-letter: " last-letter " next-letter: " next-letter) + (conc (seconds->wwdate (current-seconds)) next-letter)))) + +(print "Got here!") +