view service/rfid_pn532/graphserver.py @ 1310:68e172d9791e

add missing files for the record Ignore-this: 8541c95ef1644cf85b311259602d2892 darcs-hash:1e575d63deb747c9c320daa32f27f0ce93621afb
author drewp <drewp@bigasterisk.com>
date Sun, 21 Apr 2019 03:28:21 -0700
parents
children
line wrap: on
line source

import sys, datetime, cyclone.web, json
from twisted.internet import reactor, task
from rdflib import Namespace, Literal, ConjunctiveGraph
import rdflib_jsonld.parser
from patchablegraph import PatchableGraph, CycloneGraphEventsHandler, CycloneGraphHandler

class CurrentGraph(cyclone.web.RequestHandler):
    def put(self):
        g = ConjunctiveGraph()
        rdflib_jsonld.parser.to_rdf(json.loads(self.request.body), g)
        self.settings.masterGraph.setToGraph(g)

def main():
    from twisted.python import log as twlog
    twlog.startLogging(sys.stderr)
    masterGraph = PatchableGraph()

    class Application(cyclone.web.Application):
        def __init__(self):
            handlers = [
                (r"/()", cyclone.web.StaticFileHandler,
                 {"path": ".", "default_filename": "index.html"}),
                (r'/graph', CycloneGraphHandler, {'masterGraph': masterGraph}),   
                (r'/graph/events', CycloneGraphEventsHandler, {'masterGraph': masterGraph}),
                (r'/currentGraph', CurrentGraph),
            ]
            cyclone.web.Application.__init__(self, handlers,
                                             masterGraph=masterGraph)

    reactor.listenTCP(10012, Application())
    reactor.run()

if __name__ == '__main__':
    main()