Something

This commit is contained in:
Emery Hemingway 2024-03-15 12:22:44 +00:00
parent 2dde9d75ed
commit d03d8f9db0
1 changed files with 5 additions and 8 deletions

View File

@ -2,13 +2,10 @@
# SPDX-License-Identifier: Unlicense
import std/[json, sequtils, tables, uri]
import preserves, preserves/jsonhooks, syndicate
from syndicate/protocols/dataspace import Observe
import preserves, preserves/jsonhooks, syndicate, syndicate/relays
import ./icalendar_components
type Observe = dataspace.Observe[Cap]
type BootArgs {.preservesDictionary.} = object
dataspace: Cap
@ -19,8 +16,8 @@ proc importCalendar(location: string): Component =
else:
var
js = parseFile(uri.path)
pr = jsonhooks.toPreserveHook(js, void)
if not result.fromPreserve(pr):
pr = jsonhooks.toPreservesHook(js)
if not result.fromPreserves(pr):
# TODO: convert directly from JsonNode
raise newException(ValueError, "Preserves was not a valid iCalendar component")
if result.label != "vcalendar":
@ -50,9 +47,9 @@ proc serve(turn: var Turn; url: string): Cap =
ds
runActor("icalendar_actor") do (root: Cap; turn: var Turn):
connectStdio(root, turn)
connectStdio(turn, root)
stderr.writeLine "connected stdio to ", root
during(turn, root, ?BootArgs) do (ds: Cap):
during(turn, root, ?:BootArgs) do (ds: Cap):
stderr.writeLine "got dataspace at ", ds
during(turn, ds, ?Observe(pattern: !CalendarDataspace) ?? {0: grabLit()}) do (url: string):
let cap = serve(turn, url)