zua/tests/client.nim

38 lines
1008 B
Nim
Raw Normal View History

2021-12-04 12:58:35 +00:00
# SPDX-FileCopyrightText: ☭ 2021 Emery Hemingway
# SPDX-License-Identifier: Unlicense
import std/[asyncdispatch, os, parseopt, xmlparser, xmltree]
import preserves
import syndicate,
syndicate/[actors, capabilities, relay]
2021-12-13 18:28:06 +00:00
import svui
type Svui = svui.Svui[Ref]
2021-12-04 12:58:35 +00:00
proc main() =
2021-12-13 18:28:06 +00:00
proc quitHook() {.noconv.} = quit()
2021-12-04 12:58:35 +00:00
setControlCHook(quitHook)
waitFor runActor("client") do (turn: var Turn):
let cap = mint()
connectUnix(turn, "/run/syndicate/ds", cap) do (turn: var Turn; a: Assertion) -> TurnAction:
let ds = unembed a
for kind, arg, _ in getopt():
if kind == cmdArgument:
let megs = getFileSize(arg) shr 20
if megs > 1:
stderr.writeLine arg, " is ", megs, " MiB, not publishing"
else:
let xml = loadXml(arg)
if xml.tag != "svg":
stderr.writeLine arg, " not recognized as SVG"
else:
2021-12-13 18:28:06 +00:00
discard publish(turn, ds, Svui(svg: $xml))
2021-12-04 12:58:35 +00:00
stderr.writeLine "done"
main()