Beispiel #1
0
 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=""))     
Beispiel #2
0
 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
Beispiel #3
0
 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))