Esempio n. 1
0
 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)
Esempio n. 2
0
    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
Esempio n. 3
0
 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