def generate_report(cls, start_time, end_time=None): if end_time is None: end_time = start_time + timedelta(days=1) assert (isinstance(start_time, datetime)) assert (isinstance(start_time, datetime)) path = cls.get_file_path(start_time, end_time) content = cls.generate_report_content(start_time, end_time) path = storage.save(path, ContentFile(content)) report = Report(name=cls.get_report_name(start_time, end_time)) report.file = path report.content = content report.save() return report
def generate_report(cls, start_time, end_time=None, **kwargs): if end_time is None: end_time = start_time + timedelta(days=1) assert (isinstance(start_time, datetime)) assert (isinstance(start_time, datetime)) path = cls.get_file_path(start_time, end_time) if kwargs.get('type'): content = cls.generate_report_content(start_time, end_time, kwargs.get('type')) else: content = cls.generate_report_content(start_time, end_time) encrypted_content = ReportCrypto.encrypt_file(content) path = storage.save(path, ContentFile(encrypted_content)) report = Report(name=cls.get_report_name(start_time, end_time)) report.file = path report.content = content report.save() return report