Ejemplo n.º 1
0
 def __init__(self, filename, rtype="internal"):
     self.filename = filename
     self._report = None
     if os.path.exists(filename):
         # try html
         if filename.endswith('html'):
             m = reporttitle.match(
                 re.sub(' |\r|\n', '',
                        codecs.open(filename, 'r',
                                    encoding="utf-8").read()))
             if m:
                 self.name = m.groupdict()['reportname']
             else:
                 self.name = "<unnamed>"
         # try pdf
         if filename.endswith('pdf'):
             from emonitor.lib.pdf.pdf import PDFFormFile
             self._report = PDFFormFile(self.filename)
             self.name = u"{} - {}".format(
                 self._report.information['title'],
                 self._report.information['author'])
     else:
         self.name = ""
     self.type = rtype
Ejemplo n.º 2
0
class AlarmReportType:
    def __init__(self, filename, rtype="internal"):
        self.filename = filename
        self._report = None
        if os.path.exists(filename):
            # try html
            if filename.endswith('html'):
                m = reporttitle.match(
                    re.sub(' |\r|\n', '',
                           codecs.open(filename, 'r',
                                       encoding="utf-8").read()))
                if m:
                    self.name = m.groupdict()['reportname']
                else:
                    self.name = "<unnamed>"
            # try pdf
            if filename.endswith('pdf'):
                from emonitor.lib.pdf.pdf import PDFFormFile
                self._report = PDFFormFile(self.filename)
                self.name = u"{} - {}".format(
                    self._report.information['title'],
                    self._report.information['author'])
        else:
            self.name = ""
        self.type = rtype

    @property
    def multi(self):
        if self._report:
            return self._report.multi
        return False

    @property
    def fields(self):
        if self._report:
            return self._report.fields
        return {}

    def createReport(self, alarms, fields):
        return self._report.createReport(
            alarmlist=[Alarm.getAlarms(id=alarm) for alarm in alarms],
            fielddefinition=fields)

    def __str__(self):
        return u'{} ({})'.format(self.name, babel.gettext(self.type))
Ejemplo n.º 3
0
 def __init__(self, filename, rtype="internal"):
     self.filename = filename
     self._report = None
     if os.path.exists(filename):
         # try html
         if filename.endswith('html'):
             m = reporttitle.match(re.sub(' |\r|\n', '', codecs.open(filename, 'r', encoding="utf-8").read()))
             if m:
                 self.name = m.groupdict()['reportname']
             else:
                 self.name = "<unnamed>"
         # try pdf
         if filename.endswith('pdf'):
             from emonitor.lib.pdf.pdf import PDFFormFile
             self._report = PDFFormFile(self.filename)
             self.name = u"{} - {}".format(self._report.information['title'], self._report.information['author'])
     else:
         self.name = ""
     self.type = rtype
Ejemplo n.º 4
0
class AlarmReportType:

    def __init__(self, filename, rtype="internal"):
        self.filename = filename
        self._report = None
        if os.path.exists(filename):
            # try html
            if filename.endswith('html'):
                m = reporttitle.match(re.sub(' |\r|\n', '', codecs.open(filename, 'r', encoding="utf-8").read()))
                if m:
                    self.name = m.groupdict()['reportname']
                else:
                    self.name = "<unnamed>"
            # try pdf
            if filename.endswith('pdf'):
                from emonitor.lib.pdf.pdf import PDFFormFile
                self._report = PDFFormFile(self.filename)
                self.name = u"{} - {}".format(self._report.information['title'], self._report.information['author'])
        else:
            self.name = ""
        self.type = rtype

    @property
    def multi(self):
        if self._report:
            return self._report.multi
        return False

    @property
    def fields(self):
        if self._report:
            return self._report.fields
        return {}

    def createReport(self, alarms, fields):
        return self._report.createReport(alarmlist=[Alarm.getAlarms(id=alarm) for alarm in alarms], fielddefinition=fields)

    def __str__(self):
        return u'{} ({})'.format(self.name, babel.gettext(self.type))