feat: add get_info tool using SYNO.FileStation.List::getinfo
SYNO.FileStation.Stat is absent from this NAS's API registry. SYNO.FileStation.List::getinfo returns identical data and is confirmed working. - tools/filestation.py: new get_info tool — accepts one or more comma-separated paths, calls getinfo with real_path/size/time/perm/ owner/type additional fields, returns a 9-column table - tests: 6 new tests covering single file, directory, multi-path, empty input, DSM error, and correct API method assertion - SPEC.md: remove SYNO.FileStation.Stat from API table, rewrite get_info tool section to reference getinfo, update list_dir note - CLAUDE.md: update Implemented Tools list Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -54,8 +54,7 @@ All requests use `GET /webapi/entry.cgi` with query parameters unless noted.
|
||||
|-----|---------|--------------|
|
||||
| `SYNO.API.Auth` | 7 | `login`, `logout` |
|
||||
| `SYNO.FileStation.Info` | 2 | `get` |
|
||||
| `SYNO.FileStation.List` | 2 | `list_share`, `list` |
|
||||
| `SYNO.FileStation.Stat` | 3 | `get` |
|
||||
| `SYNO.FileStation.List` | 2 | `list_share`, `list`, `getinfo` |
|
||||
| `SYNO.FileStation.Search` | 2 | `start`, `list`, `stop`, `clean` |
|
||||
| `SYNO.FileStation.Download` | 2 | `download` |
|
||||
| `SYNO.FileStation.Upload` | 3 | `upload` (POST multipart) |
|
||||
@@ -123,8 +122,8 @@ additional=["size","time"]
|
||||
> (`"size,time"`) is silently ignored by DSM — the `additional` field will be absent from
|
||||
> every file entry.
|
||||
>
|
||||
> **`SYNO.FileStation.Stat`:** Not available on all NAS firmware versions. Do not use for
|
||||
> `get_info`; fall back to `SYNO.FileStation.List::list` with `additional=["size","time","perm","owner"]`.
|
||||
> **`SYNO.FileStation.Stat`:** Not available on this NAS's API registry. Use
|
||||
> `SYNO.FileStation.List::getinfo` for per-path metadata instead.
|
||||
|
||||
---
|
||||
|
||||
@@ -134,16 +133,21 @@ Get detailed metadata for one or more files or folders.
|
||||
**Parameters:**
|
||||
| Name | Type | Required | Description |
|
||||
|------|------|----------|-------------|
|
||||
| `path` | str or list[str] | yes | Absolute path(s) on the NAS |
|
||||
| `path` | str | yes | One or more share-relative paths, comma-separated |
|
||||
|
||||
**Returns:** Per-path details: type, size, owner, group, permissions, timestamps, real path.
|
||||
**Returns:** Table with type, size, owner, group, permissions (octal), modification time,
|
||||
creation time, and real volume path for each requested item.
|
||||
|
||||
**DSM call:** `SYNO.FileStation.Stat::get`
|
||||
**DSM call:** `SYNO.FileStation.List::getinfo`
|
||||
```
|
||||
path={comma-joined paths},
|
||||
additional=["real_path","size","time","perm","owner","mount_point_type","type"]
|
||||
additional=["real_path","size","time","perm","owner","type"]
|
||||
```
|
||||
|
||||
> **Note:** `SYNO.FileStation.Stat` is not available on all NAS firmware versions and is
|
||||
> absent from this NAS's API registry. `SYNO.FileStation.List::getinfo` returns identical
|
||||
> data and is confirmed working.
|
||||
|
||||
---
|
||||
|
||||
#### `search`
|
||||
|
||||
Reference in New Issue
Block a user