ambrevar/file: Fix import/exports.

master
Pierre Neidhardt 2021-01-16 01:12:05 +01:00
parent b15f13301d
commit e00dc4e1e9
1 changed files with 14 additions and 4 deletions

View File

@ -3,7 +3,8 @@
(:use #:common-lisp)
(:use #:trivia)
(:import-from #:hu.dwim.defclass-star #:defclass*)
(:import-from #:serapeum #:export-always))
(:import-from #:serapeum #:export-always)
(:import-from #:ambrevar/ffprobe))
(in-package ambrevar/file)
(eval-when (:compile-toplevel :load-toplevel :execute)
(trivial-package-local-nicknames:add-package-local-nickname :alex :alexandria)
@ -40,7 +41,9 @@
(permissions '()
:type (or null
(cons #.(cons 'member (mapcar #'first osicat::+permissions+))))))
(:accessor-name-transformer #'name-identity))
(:accessor-name-transformer #'name-identity)
(:export-accessor-names-p t)
(:export-class-name-p t))
(export-always 'extension)
(defmethod extension ((file file))
@ -215,7 +218,9 @@ See `%description'."
((mime-type "")
(mime-encoding "")
(description ""))
(:accessor-name-transformer #'name-identity))
(:accessor-name-transformer #'name-identity)
(:export-accessor-names-p t)
(:export-class-name-p t))
(defmethod initialize-instance :after ((file file+mime) &key)
(let ((mime-type+encoding (%mime-type+encoding (path file))))
@ -242,20 +247,25 @@ See `%description'."
(media-streams '()
:type (or null
(cons ambrevar/ffprobe:media-stream))))
(:accessor-name-transformer #'name-identity))
(:accessor-name-transformer #'name-identity)
(:export-accessor-names-p t)
(:export-class-name-p t))
(defmethod initialize-instance :after ((file mediafile) &key)
(let ((probe (ambrevar/ffprobe:ffprobe (path file))))
(setf (media-format file) (first probe)
(media-streams file) (rest probe))))
(export-always 'mediafile)
(defun mediafile (path)
(make-instance 'mediafile :path path))
(export-always 'mediawalk)
(defun mediawalk (root &rest predicates)
(let ((*finder-constructor* #'mediafile))
(apply #'walk root predicates)))
(export-always 'mediafinder)
(defun mediafinder (root &rest predicates)
(let ((*finder-constructor* #'mediafile))
(apply #'finder root predicates)))