view bin/clientdemo @ 1884:5cde72dfdc22

change collector output code to use very specific types. Might fix bugs too. Ignore-this: ce9f2586b03f5a773accab7ca3bf6c5d
author Drew Perttula <drewp@bigasterisk.com>
date Tue, 28 May 2019 06:48:37 +0000
parents f066d6e874db
children
line wrap: on
line source

#!bin/python

import os, sys
sys.path.append(".")
from twisted.internet import reactor
import cyclone.web, cyclone.httpclient, logging
from rdflib import Namespace, Literal, URIRef
from light9 import networking
from rdfdb.patch import Patch
from rdfdb.syncedgraph import SyncedGraph

if __name__ == "__main__":
    logging.basicConfig(level=logging.DEBUG)
    log = logging.getLogger()

    g = SyncedGraph(networking.rdfdb.url, "clientdemo")

    from light9.Submaster import PersistentSubmaster
    sub = PersistentSubmaster(
        graph=g, uri=URIRef("http://light9.bigasterisk.com/sub/bcools"))

    #get sub to show its updating name, then push that all the way into KC gui so we can see just names refresh in there

    L9 = Namespace("http://light9.bigasterisk.com/")

    def updateDemoValue():
        v = list(g.objects(L9['demo'], L9['is']))
        print("demo value is %r" % v)

    g.addHandler(updateDemoValue)

    def adj():
        g.patch(
            Patch(addQuads=[(L9['demo'], L9['is'], Literal(os.getpid()),
                             L9['clientdemo'])],
                  delQuads=[]))

    reactor.callLater(2, adj)
    reactor.run()