def export_static(filename): filename, extension = os.path.splitext(filename) try: id, template = filename.split('-') if extension not in ['.pdf', '.html', '.png']: abort(404) elif extension == '.pdf': return Response(Module.getPdf( Alarm.getExportData('.html', id=id, style=template, args=request.args)), mimetype="application/pdf") elif extension == '.html': return Response(Alarm.getExportData(extension, id=id, style=template, args=request.args), mimetype="text/html") elif extension == '.png': return Response(Alarm.getExportData(extension, id=id, style=template, filename=filename, args=request.args), mimetype="image/png") except ValueError: return abort(404)
def doPrint(self, **params): """ Start printout of defined object :param params: checks for *alarmid* """ from emonitor import app pl = PrintLayout('{}.{}'.format(self.module, self.layout)) _params = {} for p in pl.getParameters(self.settings[1].split( ';')): # load parameters from printer definition _params[p.getFullName()] = p.getFormatedValue() tmpfilename = random.random() callstring = self.getCallString(pdffilename='{}{}.pdf'.format( app.config.get('PATH_TMP'), tmpfilename), **params) if "id" in params: with app.test_request_context('/', method='get'): with open( '{}{}.pdf'.format(app.config.get('PATH_TMP'), tmpfilename), 'wb') as tmpfile: _params['id'] = params['id'] _params['style'] = self.layout[6:-5] tmpfile.write( Module.getPdf(params['object'].getExportData( '.html', **_params))) try: subprocess.check_output(callstring, stderr=subprocess.STDOUT, shell=True) os.remove('{}{}.pdf'.format(app.config.get('PATH_TMP'), tmpfilename)) except WindowsError: pass
def export_static(filename): filename, extension = os.path.splitext(filename) try: id, template = filename.split('-') if extension not in ['.pdf', '.html', '.png']: abort(404) elif extension == '.pdf': return Response(Module.getPdf(Alarm.getExportData('.html', id=id, style=template, args=request.args)), mimetype="application/pdf") elif extension == '.html': return Response(Alarm.getExportData(extension, id=id, style=template, args=request.args), mimetype="text/html") elif extension == '.png': return Response(Alarm.getExportData(extension, id=id, style=template, filename=filename, args=request.args), mimetype="image/png") except ValueError: return abort(404)
def doPrint(self, **params): """ Start printout of defined object :param params: checks for *alarmid* """ from emonitor import app pl = PrintLayout('{}.{}'.format(self.module, self.layout)) _params = {} for p in pl.getParameters(self.settings[1].split(';')): # load parameters from printer definition _params[p.getFullName()] = p.getFormatedValue() tmpfilename = random.random() callstring = self.getCallString(pdffilename='{}{}.pdf'.format(app.config.get('PATH_TMP'), tmpfilename), **params) if "id" in params: with app.test_request_context('/', method='get'): with open('{}{}.pdf'.format(app.config.get('PATH_TMP'), tmpfilename), 'wb') as tmpfile: _params['id'] = params['id'] _params['style'] = self.layout[6:-5] tmpfile.write(Module.getPdf(params['object'].getExportData('.html', **_params))) try: subprocess.check_output(callstring, stderr=subprocess.STDOUT, shell=True) os.remove('{}{}.pdf'.format(app.config.get('PATH_TMP'), tmpfilename)) except WindowsError: pass