def _process( self ): self._notify('materialDownloaded', self._file) if isinstance(self._file, Link): self._redirect(self._file.getURL()) elif self._file.getId() != "minutes": #self._req.headers_out["Accept-Ranges"] = "bytes" self._req.headers_out["Content-Length"] = "%s"%self._file.getSize() self._req.headers_out["Last-Modified"] = "%s"%formatdate(time.mktime(self._file.getCreationDate().timetuple())) cfg = Config.getInstance() mimetype = cfg.getFileTypeMimeType( self._file.getFileType() ) self._req.content_type = """%s"""%(mimetype) dispos = "inline" try: if self._req.headers_in['User-Agent'].find('Android') != -1: dispos = "attachment" except KeyError: pass self._req.headers_out["Content-Disposition"] = '%s; filename="%s"' % (dispos, self._file.getFileName()) if cfg.getUseXSendFile() and self._req.headers_in['User-Agent'].find('Android') == -1: # X-Send-File support makes it easier, just let the web server # do all the heavy lifting return self._req.send_x_file(self._file.getFilePath()) else: return self._file.readBin() else: p = files.WPMinutesDisplay(self, self._file ) return p.display()
def _process(self): signals.event.material_downloaded.send(self._conf, resource=self._file) if isinstance(self._file, Link): self._redirect(self._file.getURL()) elif self._file.getId() == "minutes": p = files.WPMinutesDisplay(self, self._file) return p.display() else: return send_file(self._file.getFileName(), self._file.getFilePath(), self._file.getFileType(), self._file.getCreationDate())
def _process(self): self._notify('materialDownloaded', self._file) if isinstance(self._file, Link): self._redirect(self._file.getURL()) elif self._file.getId() == "minutes": p = files.WPMinutesDisplay(self, self._file) return p.display() else: return send_file(self._file.getFileName(), self._file.getFilePath(), self._file.getFileType(), self._file.getCreationDate())
def _process(self): self._notify('materialDownloaded', self._file) if isinstance(self._file, Link): self._redirect(self._file.getURL()) elif self._file.getId() == "minutes": p = files.WPMinutesDisplay(self, self._file) return p.display() else: set_file_headers(self._req, fname=self._file.getFileName(), last_modified=self._file.getCreationDate(), size=self._file.getSize(), data=self._file.readBin(), ftype=self._file.getFileType(), fpath=self._file.getFilePath()) return send_file(self._req, self._file)
def _process(self): if self._file.getId() != "minutes": #self._req.headers_out["Accept-Ranges"] = "bytes" self._req.headers_out[ "Content-Length"] = "%s" % self._file.getSize() self._req.headers_out["Last-Modified"] = "%s" % formatdate( time.mktime(self._file.getCreationDate().timetuple())) cfg = Config.getInstance() mimetype = cfg.getFileTypeMimeType(self._file.getFileType()) self._req.content_type = """%s""" % (mimetype) self._req.headers_out[ "Content-Disposition"] = """inline; filename="%s\"""" % self._file.getFileName( ) return self._file.readBin() else: p = files.WPMinutesDisplay(self, self._file) return p.display()