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()
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()
async def main2(): async with wiki.WikiData() as a: b = await a.get_extracts('xbox', exintro='')
async def main(): async with wiki.WikiData() as w: b = await w.get_media('xbox 360')
async def main3(): async with wiki.WikiData() as w: b = await w.get_html('xbox', exintro='') print('----', b)