Exemplo n.º 1
0
    def handle_results(self, req: HTTPRequest, res: HTTPResponse):
        path = config.www("results.html")
        request = ""
        pagesize = AlloServer.RESULT_PER_PAGE
        if req.method == "POST":
            body = req.body_json()
            if "json" in body:
                bodyjson = json.loads(body["json"])
                if "nperpage" in bodyjson:
                    pagesize = int(bodyjson["nperpage"])
                request = json_to_request(bodyjson)
            elif "text" in body:
                request = "(select * where " + unquote_plus(
                    body["text"]) + " )"
            tmp = Request(self.db.execute(request))
            x = tmp.result
            x.pagesize = pagesize
            self.requests[x.id] = tmp
        else:
            if "id" in req.params and "page" in req.params and req.params[
                    "id"] in self.requests:
                x = self.requests[req.params["id"]].result
                x.page = int(req.params["page"]) - 1
            else:
                return res.serve400()

        self._check_query(req, x)
        res.serve_file_gen(path, x.moustache(self.userlist_object()))
Exemplo n.º 2
0
    def handle_film_modify(self, req: HTTPRequest, res: HTTPResponse):
        id = req.params["id"]
        if not id in self.db.ids: return res.serve404()
        js = req.body_json()
        if not js: return res.serve400()

        row = self.db.ids[id]
        out = []
        for x in js:
            out.append((x, js[x]))

        row.set(out)
Exemplo n.º 3
0
 def handle_results_export(self, req: HTTPRequest, res: HTTPResponse):
     if "id" in req.params and req.params["id"] in self.requests:
         x = self.requests[req.params["id"]].result
         data = ""
         format = req.params["format"]
         filename = req.params["filename"]
         if format == "csv":
             data = str(x)
             res.header("Content-Type", "text/csv")
         elif format == "json":
             data = x.moustache()
             res.header("Content-Type", "application/json")
         res.header("Content-Disposition",
                    "attachment; filename=\"%s\"" % filename)
         res.end(data)
     else:
         return res.serve400()