def get_document(path): path = universe.root + "/content/" + path # print("[* get_document] Path: " + path) if os.path.exists(path): data = universe.fread(path) if data: meta = { "ip": return_ip().data.decode("utf-8"), "up": ".." if os.path.isdir(path) else "." } extension = path.split(".")[-1] res = make_response("", 200) if extension in ["txt"] or os.path.isdir(path): html = universe.parse(data.decode("utf-8"), path) meta.update({"content": html}) res.headers["Content-Type"] = "text/html; charset=UTF-8" res.set_data(render_template("txt.html.jinja", data=meta)) elif extension in ["md", "markdown"]: html = markdown.markdown(data.decode("utf-8"), extensions=['extra']) meta.update({"content": html}) res.headers["Content-Type"] = "text/html; charset=UTF-8" res.set_data(render_template("txt.html.jinja", data=meta)) elif extension in ["png", "jpg", "pdf", "mp3", "mp4"]: res.headers["Content-Type"] = "%s; charset=UTF-8" % guess_mime( path)[0] res.set_data(data) elif extension in ["html", "htm"]: res.headers["Content-Type"] = "text/html; charset=UTF-8" res.set_data(data) else: res.headers["Content-Type"] = "text/plain; charset=UTF-8" res.set_data(data) return res abort(404)
def loadBrowserTable(self): pwd = self.browserInput.text() filelist = [] try: if not self.browser.pathExists(self.browser.host, self.browser.port, pwd): self.showMessage("Error", "The path does not exist!") return self.browser.historyStack.append(pwd) filelist = self.browser.getFileList(self.browser.host, self.browser.port, pwd) self.browser.filelist = filelist except ConnectionRefusedError: self.showMessage( "Offline", "The remote machine cannot be contacted!\nBetter luck next time." ) self.tabWidget.setCurrentIndex(1) table = self.browserTable table.clearContents() table.setRowCount(len(filelist)) for i, file in enumerate(filelist): table.setItem(i, 0, QTableWidgetItem(str(i))) table.setItem(i, 1, QTableWidgetItem(QIcon(":images/download.png"), "")) table.setItem(i, 2, QTableWidgetItem(toHumanReadable(file["filesize"]))) if file["isDir"]: table.setItem( i, 3, QTableWidgetItem(QIcon(":/images/folder.png"), "")) else: table.setItem( i, 3, QTableWidgetItem(guess_mime(file["filename"])[0])) table.setItem(i, 4, QTableWidgetItem(file["filename"]))
def view_resource(path): path = "res/" + path if not os.path.exists(path): return make_response(render_template("404.jinja", filename=filename), status=404) with open(path, "rb") as f: res = make_response(f.read()) res.headers["Content-Type"] = guess_mime(path) + "; charset=UTF-8" return res
def grab_latest_by_camera(request, addr): camera = ':'.join([ addr[i*2:i*2+2] for i in range(len(addr)/2) ]) f = models.CameraRecord.objects.filter(remote__address=camera).latest('time').picture mime = guess_mime(f.name) logger.info('%s -> %s' % (camera, f.name)) parts = [ (mime[0], f.read()) ] return http.StreamingMultipartHttpResponse(parts, type="multipart/x-mixed-replace")
def get_resource(path): path = universe.root + "/res/" + path # print("[* get_resource] Path: " + path) if os.path.exists(path) and not os.path.isdir(path): data = universe.fread(path) if data: res = make_response(data, 200) res.headers["Content-Type"] = "%s; charset=UTF-8" % guess_mime( path)[0] return res abort(404)
def grab_file(request, file): logger.info("grab_file %s" % file) file = CampaignFile.objects.get(file=file).file mime = guess_mime(file.name) return HttpResponse(file.read(), mimetype=mime[0])
def grab_picture(request, filename): f=models.CameraRecord.objects.get(picture=filename).picture mime = guess_mime(f.name) logger.info(f.name) return HttpResponse(f.read(), mimetype=mime[0])
def getFile(self, request, pk): f = CampaignFile.objects.get(pk=pk).file mime = guess_mime(f.name) return HttpResponse(f.read(), mimetype=mime[0])