;;; command-line.lisp (in-package :seanut) (define-opts (:name :help :short #\h :long "help" :description "prints this help") (:name :version :long "version" :description "prints the version") (:name :verbose :short #\v :long "verbose" :description "prints file names as they get downloaded") (:name :assume-yes :long "no-prompt" :description "assumes yes for all download prompts") (:name :quick-connect-p :short #\q :long "quick-connect" :description "alternative login method to providing username/password - times out after ~1min") (:name :token :short #\t :long "token" :meta-var "TOKEN" :arg-parser #'identity :description "access token - if you do not have one please authenticate first") (:name :output :short #\o :long "output" :meta-var "DIR" :arg-parser #'uiop:ensure-directory-pathname :description "location to save downloaded media") (:name :media-type :short #\m :long "media-type" :meta-var "TYPE" :arg-parser #'validate-media-type :description "media type to base our query on") (:name :username :short #\u :long "username" :meta-var "USERNAME" :arg-parser #'identity :description "username for the jellyfin server") (:name :password :short #\p :long "password" :meta-var "PASSWORD" :arg-parser #'identity :description "password for the jellyfin server") (:name :season :short #\s :long "season" :meta-var "SEASON" :arg-parser #'maybe-parse-integer :description "specify specific season to download, if downloading a show"))