def locateChild(self, ctx, segments): if segments == ('all',): g = allGraphs(literalToday()) return RdfXMLPage(g.serialize(format='xml')), [] print segments # limiting to today's data only because it was easier to code quickly if len(segments) == 2 and segments[0] == str(literalToday()) and segments[1].isalnum(): return RdfXMLPage(readSubgraphXML("graph/%s/%s" % segments[:2])), [] return rend.Page.locateChild(self, ctx, segments)
def locateChild(self, ctx, segments): if segments == ('all', ): g = allGraphs(literalToday()) return RdfXMLPage(g.serialize(format='xml')), [] print segments # limiting to today's data only because it was easier to code quickly if len(segments) == 2 and segments[0] == str( literalToday()) and segments[1].isalnum(): return RdfXMLPage(readSubgraphXML("graph/%s/%s" % segments[:2])), [] return rend.Page.locateChild(self, ctx, segments)
def child_okj(self, ctx): graph = allGraphs(literalToday()) child = viewFunc('trainsToday', graph, literalToday(), STATION['OKJ']) def update(self, ctx): request = inevow.IRequest(ctx) graph = Graph() graph.parse("passwd.n3", format="n3") g = lambda pred: graph.value(TT['okjUpdate'], pred) if ((request.getUser(), request.getPassword()) == (g(TT['user']), g(TT['password']))): graph = getGraph() addTrainsAtStation(graph, STATION['OKJ'], literalToday()) return "update ok" else: request.setHeader('WWW-Authenticate', 'Basic realm="traintimes"') request.setResponseCode(http.UNAUTHORIZED) return "Authentication required." child.child_update = lambda ctx: update(child, ctx) return child
def render_graphs(self, ctx, data): for uri, label, filename in sorted(subgraphs(literalToday()), key=lambda (u,l,f): l): filename = filename[len("graph/"):] yield T.li[T.a(href=filename)[label], " ", T.a(href=[filename, "?type=n3"])[T.code["[N3/text]"]]]
def child_pvd(self, ctx): graph = allGraphs(literalToday()) return viewFunc('next4Trains', graph, STATION['PVD'])
Literal("times for train %s at %s on %s" % (graph.label(train), graph.label(station), searchDate)))) return ctxURI def addTrainsAtStation(graph, station, searchDate): for train in graph.objects(station, TT['normalTrain']): #if '11' not in train: # continue sub = addTrainInfo(graph, train, searchDate, station) writeSubgraph(graph.get_context(sub)) if __name__ == '__main__': graph = getGraph() searchDate = literalToday() if 1: addTrainsAtStation(graph, STATION['OKJ'], searchDate) f = open("/tmp/gr.nt", "w") graph.serialize(f, format="nt") else: graph.parse(open("/tmp/gr.nt"), format="nt") #print addTrainInfo(graph, TRAIN['n547'], searchDate, STATION['OKJ']) #print graph.serialize(format="n3") #print trainsToday(graph, searchDate, STATION['OKJ'])
graph.label(station), searchDate)))) return ctxURI def addTrainsAtStation(graph, station, searchDate): for train in graph.objects(station, TT['normalTrain']): #if '11' not in train: # continue sub = addTrainInfo(graph, train, searchDate, station) writeSubgraph(graph.get_context(sub)) if __name__ == '__main__': graph = getGraph() searchDate = literalToday() if 1: addTrainsAtStation(graph, STATION['OKJ'], searchDate) f = open("/tmp/gr.nt", "w") graph.serialize(f, format="nt") else: graph.parse(open("/tmp/gr.nt"), format="nt") #print addTrainInfo(graph, TRAIN['n547'], searchDate, STATION['OKJ']) #print graph.serialize(format="n3") #print trainsToday(graph, searchDate, STATION['OKJ'])
def render_graphs(self, ctx, data): for uri, label, filename in sorted(subgraphs(literalToday()), key=lambda (u, l, f): l): filename = filename[len("graph/"):] yield T.li[T.a(href=filename)[label], " ", T.a(href=[filename, "?type=n3"])[T.code["[N3/text]"]]]