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
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))
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
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))