def reparse_report(daily_report): report_file = daily_report.report_html parsed_daily_report = parse_daily_report(report_file) daily_report.parse_timestamp = datetime.utcnow() reports = [] for parsed_report in parsed_daily_report['reports']: report = format_parsed_report(parsed_report) reports.append(report) daily_report.reports = reports db.session.commit()
def retrieve_report(report_date): try: report_file = conditional_fetch(report_date) except (URLError, ReportFetchError, ReportNotFoundError): raise parsed_daily_report = parse_daily_report(report_file) #We might be updating a report which already exists. daily_report = DailyReport.query.filter( DailyReport.report_date == report_date).first() daily_report.parse_timestamp = datetime.utcnow() reports = [] for parsed_report in parsed_daily_report['reports']: report = format_parsed_report(parsed_report) reports.append(report) daily_report.reports = reports db.session.commit()