class FastqcReportWriter(object): def __init__(self, fastqc_summary, output_dir="./Fastqc_Writer_Report"): self.fastqc_summary = fastqc_summary self.file_manager = FastqcReportFileManager(output_dir) def write_report_for_tag(self, tag): file_path = self.file_manager.file_path_for_tag(tag) html_string = self.fastqc_summary.get_html_for_tag(tag) with open(file_path, "w") as html_file: print(html_string, file=html_file) print("Written: " + os.path.basename(file_path)) def write(self): for tag in fastqc_report_tags(): self.write_report_for_tag(tag) if __name__ == "__main__": mateHandler = MateHandler() dirInfos = [MateDirInfo(mate) for mate in mateHandler.list_project_mates()] pairs = list(zip([dirInfo.first_fastqc_zip_path for dirInfo in dirInfos], [dirInfo.second_fastqc_zip_path for dirInfo in dirInfos])) fastqcSummary = PairedFastqcSummary(pairs) writer = FastqcReportWriter(fastqcSummary, "TestData/FastqcSummary") writer.write()