예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
    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
예제 #4
0
    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
예제 #5
0
 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]"]]]
예제 #6
0
 def child_pvd(self, ctx):
     graph = allGraphs(literalToday())
     return viewFunc('next4Trains', graph, STATION['PVD'])
예제 #7
0
         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'])
예제 #8
0
파일: okj.py 프로젝트: drewp/traintimes
                           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'])
예제 #9
0
 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]"]]]
예제 #10
0
 def child_pvd(self, ctx):
     graph = allGraphs(literalToday())
     return viewFunc('next4Trains', graph, STATION['PVD'])