synology: live-verify against cascadesDS, fix services method + pipe handling
First live exercise of the skill against the Cascades DS718+ (DSM 7.2.1, VPN up). - Fix `services`: SYNO.Core.Service.list 103s on DSM 7.2.1 -> method is `get`. - Fix `apis | head` BrokenPipeError traceback -> caught, clean exit. - SKILL.md status PLUMBED -> VERIFIED 2026-06-25 with live device facts. - wiki/cascades-tucson: add NAS specs, resolve model/RAM/DSM TODO. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -332,7 +332,8 @@ def main(argv):
|
||||
elif args.cmd == "packages":
|
||||
_print(c.call("SYNO.Core.Package", "list", additional='["status","installed_info"]'))
|
||||
elif args.cmd == "services":
|
||||
_print(c.call("SYNO.Core.Service", "list"))
|
||||
# DSM 7.2.x: SYNO.Core.Service enumerates via `get` (not `list`); returns {"service":[...]}
|
||||
_print(c.call("SYNO.Core.Service", "get"))
|
||||
elif args.cmd == "connections":
|
||||
_print(c.call("SYNO.Core.CurrentConnection", "list"))
|
||||
elif args.cmd == "ls":
|
||||
@@ -375,4 +376,12 @@ def main(argv):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main(sys.argv[1:]))
|
||||
try:
|
||||
sys.exit(main(sys.argv[1:]))
|
||||
except BrokenPipeError:
|
||||
# downstream pipe closed (e.g. `apis | head`) -- exit cleanly, no traceback
|
||||
try:
|
||||
sys.stdout.close()
|
||||
except Exception:
|
||||
pass
|
||||
os._exit(0)
|
||||
|
||||
Reference in New Issue
Block a user