ulthar.xyz > Repos

leibowitz

Experimental Common Lisp object storage abstraction for Unix file systems
About Files Commits git clone https://ulthar.xyz/repos/leibowitz/leibowitz.git

leibowitz/core/package.lisp

Download raw file: core/package.lisp

(defpackage :leibowitz.core
  (:use #:cl
        #:leibowitz.util)
  (:local-nicknames (#:lt #:local-time))
  ;; Basic administrative API
  (:export #:library
           #:library-thumbnail-cache-dir
           #:library-static-resource-dir
           #:library-collections
           #:library-print-info
           #:library-data-quantity
           #:library-tag-quantity
           #:library-all-file-types
           #:library-get-datum-collection
           #:library-path-indexable-p)
  (:export #:index
           #:injest-raw-datum
           #:add-datum
           #:get-datum
           #:del-datum
           #:move-datum
           #:copy-datum
           #:add-tag
           #:get-tag
           #:del-tag
           #:move-tag
           #:copy-tag
           #:get-datum-tags
           #:add-datum-tags
           #:del-datum-tags
           #:add-tag-predicate
           #:get-tag-predicates
           #:get-tag-predicands
           #:del-tag-predicate)
  ;; Display methods
  (:export #:datum-print-long-report
           #:datum-html-report
           #:datum-html-sidebar
           #:datum-html-preview)
  ;; Search and Listing
  (:export #:query
           #:list-tags
           #:list-data)
  ;; A unit of tagable data
  (:export #:datum
           #:datum-id
           #:datum-accesses
           #:datum-collection
           #:datum-kind
           #:datum-birth
           #:datum-modified
           #:datum-terms
           #:datum-title
           #:datum-num-tags)
  ;; Specific types of data
  (:export #:datum-text
           #:datum-text/html
           #:datum-application/pdf
           #:datum-image
           #:datum-video)
  ;; Tag metadata
  (:export #:tag
           #:tag-name
           #:tag-label
           #:tag-count
           #:tag-print-long-report
           #:tag-num-parents
           #:tag-num-children)
  ;; Mutually-exclusive kinds of data
  (:export #:collection
           #:collection-applicable-p
           #:collection-index)
  ;; Types of collectionsn
  (:export #:collection-homedir
           #:collection-homedir-root)
  ;; Library curator API
  (:export #:curator)
  ;; Error conditions
  (:export #:friendly-error
           #:datum-not-indexed
           #:datum-already-exists
           #:cannot-mv-or-cp-to-itself
           #:no-such-datum-in-disk-or-db
           #:datum-is-orphaned
           #:no-such-tag
           #:tag-already-exists
           #:file-not-regular
           #:no-applicable-collection)
  ;; SQLite library backend
  (:export #:sqlite-library
           #:sqlite-nq
           #:sqlite-row
           #:sqlite-rows
           #:with-sqlite-tx
           )
  ;; Curator implementations
  (:export #:fs-curator)
  )
Generated 2024-06-10 19:24:14 -0700 by RepoRat