quak files takes the collection ID as an optional argument (closes #211)
check / check (push) Waiting to run

Mandatory arguments are positional, so `quak files` takes the collection ID as an optional argument and the `--collection` option is removed. With a collection ID it lists that collection's files. Without one it lists every file in the account, collection by collection, each file once: the library keeps a record of a file for each collection that holds it, and only the first collection's record is listed, so that collection is its `collectionID` in `--json`. The `--help` text, the README and `TODO.md` say so.

Model: opus-5-5
This commit was merged in pull request #215.
This commit is contained in:
2026-10-18 20:17:10 +02:00
parent 66e3ac77e8
commit 92e0c6c791
9 changed files with 182 additions and 69 deletions
+12 -4
View File
@@ -35,8 +35,11 @@ yarn quak login
# List the user's collections (albums).
yarn quak collections
# List files in a collection.
yarn quak files --collection 12345
# List every file in the account.
yarn quak files
# List the files in a collection.
yarn quak files 12345
# Download and decrypt a single file.
yarn quak get 67890 --out ./photo.jpg
@@ -647,7 +650,7 @@ quak login interactive or QUAK_EM
quak whoami print logged-in account as JSON
quak logout end the session, delete it
quak collections [--json] list all collections
quak files --collection <id> [--json] list files in a collection
quak files [collectionID] [--json] list files in a collection, or every file
quak get <fileID> [--out path] [--collection] download and decrypt a file
quak get-thumb <fileID> [--out] [--collection] download and decrypt a thumbnail
quak backup <dir> [--json] [--verify] full incremental backup
@@ -676,7 +679,12 @@ answers from what did decrypt (see "Default reads vs. fresh reads").
`--cache-dir` overrides where the cache lives; without it each account gets its
own directory under the per-user cache path.
An ID given to `files --collection`, `get`, `get-thumb` or
`files <collectionID>` lists the files in that collection. `files` with no
argument lists every file in the account, collection by collection, each file
once: a file in several collections is listed with the first of them, which is
its `collectionID` in `--json`.
An ID given to `files`, `get`, `get-thumb` or
`helper fix-missing-thumbnails --file` is written in decimal digits, no larger
than 9007199254740991. Anything else, such as `0x10`, `1e3` or `-1`, is refused
before any request with one line, `Invalid file ID: <arg>` or