def tryToSetUpReportLab(): """Try to set up reportlab. Returns True without doing anything if pdf.isEnabled() is True. Tries to guess the location of fonts. Returns True on success, False if reportlab is not available or fonts could not be found. If something breaks during setUpFonts, the exception will be propagated up. """ try: import reportlab except ImportError: return False # We don't have reportlab, so we can't get anywhere. from schooltool.app import pdf if pdf.isEnabled(): return True # Assume that reportlab has been configured already. # Heuristic to try and find the TrueType fonts. font_dirs = ['/usr/share/fonts/truetype/ttf-liberation', # Debian '/usr/share/fonts/truetype/liberation', # Fedora '/usr/share/fonts/truetype/ubuntu-font-family', # Ubuntu font family r'C:\WINDOWS\Fonts'] try: setUpFonts(font_dirs) return True except reportlab.pdfbase.ttfonts.TTFError: return False
def tryToSetUpReportLab(): """Try to set up reportlab. Returns True without doing anything if pdf.isEnabled() is True. Tries to guess the location of fonts. Returns True on success, False if reportlab is not available or fonts could not be found. If something breaks during setUpFonts, the exception will be propagated up. """ try: import reportlab except ImportError: return False # We don't have reportlab, so we can't get anywhere. from schooltool.app import pdf if pdf.isEnabled(): return True # Assume that reportlab has been configured already. # Heuristic to try and find the TrueType fonts. font_dirs = [ '/usr/share/fonts/truetype/ttf-liberation', # Debian '/usr/share/fonts/truetype/liberation', # Fedora '/usr/share/fonts/truetype/ubuntu-font-family', # Ubuntu font family r'C:\WINDOWS\Fonts' ] try: setUpFonts(font_dirs) return True except reportlab.pdfbase.ttfonts.TTFError: return False
def renderToFile(self): filename = _quoteUrl(self.filename) if not pdf.isEnabled(): return filename, None filename = _quoteUrl(self.filename) xml = self.template() stream = rml2pdf.parseString(xml, filename=filename) data = stream.getvalue() return filename, data
def __call__(self): if not pdf.isEnabled(): return translate(self.pdf_disabled_text, context=self.request) self.update() if self.request.response.getStatus() in [300, 301, 302, 303, 304, 305, 307]: return u"" rml = self.render() data = self.renderPDF(rml) return data
def __call__(self): if not pdf.isEnabled(): return translate(self.pdf_disabled_text, context=self.request) self.update() if self.request.response.getStatus() in [ 300, 301, 302, 303, 304, 305, 307 ]: return u'' rml = self.render() data = self.renderPDF(rml) return data
def __call__(self): if not pdf.isEnabled(): return translate(self.pdf_disabled_text, context=self.request) filename, data = self.renderToFile() self.setUpResponse(data, filename) return data