def _make_ISR_document(self, version='draft'): """ Creates Individual Storm Report reports as LaTeX files. Parameters ---------- version : string, optional (default = 'draft') Whether the file should be marked as "draft" or "final" Writes ------ An Individual Storm Report LaTeX file the storm. Returns ------- documentISR : str The file name and path of the ISR document. """ # check input if version.lower() not in ('draft', 'final'): raise ValueError("Report version must be 'draft' or 'final") if version.lower() == 'draft': watermark = "\\usepackage{draftwatermark}\n\\SetWatermarkLightness{0.9}" draft = ' Draft' else: watermark = '' draft = '' # texpaths and placeholders in same order placeholders = { '__GeneralTable__': self.general_tex_table + '.tex', '__HydroTable__': self.hydro_tex_table + '.tex', '__WQTable__': self.wq_tex_table + '.tex', '__HydroFigure__': self.storm_figure + '.pdf', '__DATE__': self.starttime.strftime('%b %Y'), '__BMPPHOTO__': self.siteid, '__site_name__': self.tocentry, '__watermark__': watermark, '__draft__': draft } with open(self.templateISR, 'r') as f_template: template_string = f_template.read() for key in placeholders: template_string = template_string.replace(key, placeholders[key]) documentISR_name = utils.processFilename('{}-{}-{}-ISR-{}.tex'.format( self.siteid, self.starttime.strftime('%Y%m%d-%H%M'), self.label.split(' ')[0], version )) documentISR = os.path.join('output', 'tex', 'ISR', documentISR_name) with open(documentISR, 'w') as f_report: f_report.write(template_string) return documentISR
def storm_figure(self): self._storm_figure = utils.processFilename('{}-{}-{}'.format( self.siteid, self.starttime.strftime('%Y-%m-%d-%H%M'), self.label.split(' ')[0]) ) return self._storm_figure
def wq_tex_table(self): self._wq_tex_table = utils.processFilename('{}-{}-3-WQ_{}'.format( self.siteid, self.starttime.strftime('%Y-%m-%d-%H%M'), self.label.split(' ')[0]) ) return self._wq_tex_table
def hydro_tex_table(self): self._hydro_tex_table = utils.processFilename('{}-{}-2-Hydro'.format( self.siteid, self.starttime.strftime('%Y-%m-%d-%H%M') )) return self._hydro_tex_table
def general_tex_table(self): self._general_tex_table = utils.processFilename('{}-{}-1-General'.format( self.siteid, self.starttime.strftime('%Y-%m-%d-%H%M') )) return self._general_tex_table