コード例 #1
0
                   self.wikiData.getRenderedPage(self.path))
        else:
            request.redirect('/edit/%s' % self.path)
            return ""

    def render_PUT(self, request):
        "accept a PUT request to set the contents of this page"
        if not self.wikiData.hasPage(self.path):
            request.setResponseCode(http.CREATED, "Created new page")
        else:
            request.setResponseCode(http.OK, "Modified existing page")
        request.content.seek(0)
        self.wikiData.setPage(self.path, request.content.read())
        return ""

    def render_DELETE(self, request):
        "accept a DELETE request to remove this page"
        if self.wikiData.hasPage(self.path):
            self.wikiData.deletePage(self.path)
            return "Deleted."
        else:
            request.setResponseCode(http.NOT_FOUND)
            return "No such page."

if __name__ == "__main__":
    import sys
    from twisted.internet import reactor
    wikiData = wiki.WikiData(sys.argv[1])
    reactor.listenTCP(8082, server.Site(RootResource(wikiData)))
    reactor.run()
コード例 #2
0
    def remote_setPage(self, path, data):
        self.wikiData.setPage(path, data)

    def remote_getReporter(self):
        return WikiReporter(self.wikiData)

class WikiReporter(pb.Referenceable):
    "I do simple reporting tasks in the wiki"
    def __init__(self, wikiData):
        self.pages = wikiData.pages
        
    def remote_listNeededPages(self):
        "return a list of pages that are linked to but don't exist yet"
        neededPages = []
        for page in self.pages.values():
            wikiWords = [match[0]
                         for match in wiki.reWikiWord.findall(page)]
            for pageName in wikiWords:
                if not self.pages.has_key(pageName):
                    neededPages.append(pageName)
        return neededPages

if __name__ == "__main__":
    import sys
    from twisted.internet import reactor
    datafile = sys.argv[1]
    wikiData = wiki.WikiData(datafile)
    wikiPerspective = WikiPerspective(wikiData)
    reactor.listenTCP(8789, pb.PBServerFactory(wikiPerspective))
    reactor.run()
コード例 #3
0
async def main2():
    async with wiki.WikiData() as a:

        b = await a.get_extracts('xbox', exintro='')
コード例 #4
0
async def main():
    async with wiki.WikiData() as w:
        b = await w.get_media('xbox 360')
コード例 #5
0
async def main3():
    async with wiki.WikiData() as w:
        b = await w.get_html('xbox', exintro='')

        print('----', b)