view bin/clientdemo @ 1414:c35ec37c3c6e

sequencer reloads effecteval on the fly. plus some /stats support. Ignore-this: 964f4c9007de6532457e0a507d2106f1
author Drew Perttula <drewp@bigasterisk.com>
date Fri, 10 Jun 2016 06:56:34 +0000
parents a38955ba6f40
children 6fa4288da8a6
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 light9.rdfdb.patch import Patch
from light9.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()