def upload(self, presFile, upload): cherrypy.response.headers['Content-Type'] = 'application/json' if(presFile.content_type.value == 'application/pdf'): timestampID = datetime.now().strftime('%Y-%m-%dT%H-%M-%S_') uload_path = PRES_CONFIG.ABS_PATH(PRES_CONFIG.DIR_MEDIA_PRESENTATION) + os.path.sep + timestampID + presFile.filename; size = 0 all_data = '' while True: data = presFile.file.read(8192) all_data += data if not data: break size += len(data) try: saved_file=open(uload_path, 'wb') saved_file.write(all_data) saved_file.close() svgGeneratorPreview = SVGGeneratorPreview(uload_path) svgGeneratorPreview.start() pngGeneratorPreview = PNGGeneratorPreview(uload_path) pngGeneratorPreview.start() timestampHTML = presString.getTimestampHTML(timestampID) fileListItemHTML = htmlGenerator.generateHTML('previewElement.html', pres_dir= PRES_CONFIG.DIR_MEDIA_PRESENTATION, filename= presFile.filename, timestamp=timestampID, pTimestamp = timestampHTML) return simplejson.dumps(dict(fileListItem=fileListItemHTML)) except ValueError: raise cherrypy.HTTPError(400, 'SOME ERROR') return simplejson.dumps(dict(html=""))
def index(self): pub.Publisher.sendMessage('presConnect') folderList = os.listdir(PRES_CONFIG.ABS_PATH(PRES_CONFIG.DIR_MEDIA_PRESENTATION)); presFileData = presString.reduceFolderList(folderList) #htmlTemplate = open(os.path.join(PRES_CONFIG.ABS_PATH(PRES_CONFIG.DIR_HTML), u'index.html')) presHTMLTemplate = htmlGenerator.generateHTML('presberry.html', html_dir= PRES_CONFIG.DIR_HTML, css_dir= PRES_CONFIG.DIR_CSS, js_dir= PRES_CONFIG.DIR_JS, jquerymobile_dir= PRES_CONFIG.DIR_JQUERYMOBILE, filedata= presFileData, pres_dir= PRES_CONFIG.DIR_MEDIA_PRESENTATION) return presHTMLTemplate
def setupPresentation(self, timestampID, filenameHTML): presFile.resetTempFolder() uload_path = PRES_CONFIG.ABS_PATH(PRES_CONFIG.DIR_MEDIA_PRESENTATION) + os.path.sep + timestampID + filenameHTML; self.pdfDocument = PDFdocument('file://' + uload_path, filenameHTML, timestampID) if(self.slideImage == 'svg'): svgGenerator = SVGGenerator(self.pdfDocument, PRES_CONFIG.SVG_WIDTH) svgGenerator.start() else: pngGenerator = PNGGenerator(self.pdfDocument, PRES_CONFIG.PNG_WIDTH) pngGenerator.start() pub.Publisher.sendMessage('presSetup', data=self.pdfDocument) carouselHTML = htmlGenerator.generateHTML('carousel.html', temp_dir= PRES_CONFIG.DIR_MEDIA_TEMP, numPages=self.pdfDocument.n_pgs, filename = filenameHTML, timestamp = timestampID, width="100%", height="100%", order=self.slideOrder, imagetype=self.slideImage) return simplejson.dumps(dict(carousel=carouselHTML))