Exemplo n.º 1
0
 async def respond(self, response: Response) -> None:
     page = self.page
     proc = self.proc
     response.setContentType('text/x-csv; charset=UTF-8')
     response.setFileName(page.getFileName(proc))
     sepChar = proc.args.sep.value
     for row in page.iterRows(proc):
         response.write(sepChar.join(row) + '\r\n')
Exemplo n.º 2
0
 async def writeReply(self, response: Response, proc: Processor) -> None:
     response.write('<?xml version="1.0" encoding="utf-8"?>')
     # Note: Using an "xml:base" attribute here and relative URLs in the rest
     #       of the feed works fine in Akregator (KDE4 version), but fails in
     #       Outlook 2007. Therefore we should only use absolute URLs.
     response.writeXML(
         atom.feed(xmlns='http://www.w3.org/2005/Atom', )[self.presentFeed(
             proc, rootURL)])
Exemplo n.º 3
0
 async def writeReply(self, response: Response, proc: Processor) -> None:
     jobs = proc.jobs
     response.write('<jobrefs>')
     for chunk in chop(jobs, 1000):
         # Measurements have shown that a single write with a big XML
         # sequence is much faster than many small writes.
         response.writeXML(xml.jobref(jobid=job.getId()) for job in chunk)
         # Return control to reactor.
         await response.returnToReactor()
     response.write('</jobrefs>')
Exemplo n.º 4
0
 def writeHTML(self, response: Response, proc: ProcT) -> None:
     req = proc.req
     ccURL = req.relativeRoot
     presentationArgs = dict(
         proc=proc,
         ccURL=ccURL,
         styleURL=ccURL + styleRoot.relativeURL,
     )
     response.write('<!DOCTYPE html>\n')
     response.writeXML(
         xhtml.html(lang='en')[xhtml.head[self.presentHeadParts(
             **presentationArgs)], xhtml.body[self.__presentBodyParts(
                 req, response, **presentationArgs)], ])
Exemplo n.º 5
0
 async def respond(self, response: Response) -> None:
     export = self.__export
     fmt = self.__format
     response.setContentType(fmt.mediaType)
     if export:
         response.setFileName(f'{self.__fileName}.{fmt.ext}')
     else:
         response.allowEmbedding()
     data = self.__builder.build(export).data
     response.setETag(createETag(data) + b'-dot')
     try:
         rendered = await _renderGraph(data, fmt)
     except Exception as ex:
         response.setStatus(500, 'Graph rendering failed')
         response.setContentType('text/plain')
         response.write(f'Graph rendering failed: {ex}\n')
     else:
         response.write(rendered)
Exemplo n.º 6
0
 async def respond(self, response: Response) -> None:
     response.setStatus(500, 'Unexpected exception processing request')
     response.setContentType('text/plain')
     response.write('Unexpected exception processing request.\n'
                    'Details were written to the server log.\n')
Exemplo n.º 7
0
 async def respond(self, response: Response) -> None:
     response.setStatus(self.__status, self.__message)
     response.setContentType('text/plain')
     response.write(self.__message + '\n')