Initial import
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#lang racket/base
|
||||
|
||||
(require racket/string
|
||||
keystore)
|
||||
|
||||
(provide open-manager-state
|
||||
file-state-key
|
||||
state-get-file
|
||||
state-set-file!
|
||||
state-drop-file!
|
||||
state-known-relpaths)
|
||||
|
||||
(define prefix "flac-48khz:file:")
|
||||
|
||||
(define (open-manager-state state-file)
|
||||
(ks-open state-file))
|
||||
|
||||
(define (file-state-key relpath)
|
||||
(string-append prefix relpath))
|
||||
|
||||
(define (state-get-file ks relpath [default #f])
|
||||
(ks-get ks (file-state-key relpath) default))
|
||||
|
||||
(define (state-set-file! ks relpath value)
|
||||
(ks-set! ks (file-state-key relpath) value))
|
||||
|
||||
(define (state-drop-file! ks relpath)
|
||||
(ks-drop! ks (file-state-key relpath)))
|
||||
|
||||
(define (state-known-relpaths ks)
|
||||
(map (lambda (k)
|
||||
(substring k (string-length prefix)))
|
||||
(ks-keys-glob ks (string-append prefix "*"))))
|
||||
Reference in New Issue
Block a user