diff --git a/superset/tasks/schedules.py b/superset/tasks/schedules.py index f4b7911d8..9ae67f5ea 100644 --- a/superset/tasks/schedules.py +++ b/superset/tasks/schedules.py @@ -264,7 +264,8 @@ def _get_slice_data(schedule): raise URLError(response.getcode()) # TODO: Move to the csv module - rows = [r.split(b",") for r in response.content.splitlines()] + content = response.read() + rows = [r.split(b",") for r in content.splitlines()] if schedule.delivery_type == EmailDeliveryType.inline: data = None @@ -281,7 +282,7 @@ def _get_slice_data(schedule): ) elif schedule.delivery_type == EmailDeliveryType.attachment: - data = {__("%(name)s.csv", name=slc.slice_name): response.content} + data = {__("%(name)s.csv", name=slc.slice_name): content} body = __( 'Explore in Superset

', name=slc.slice_name, diff --git a/tests/schedules_test.py b/tests/schedules_test.py index da55f9efa..49aa05248 100644 --- a/tests/schedules_test.py +++ b/tests/schedules_test.py @@ -378,7 +378,7 @@ class SchedulesTestCase(SupersetTestCase): mock_open.return_value = response mock_urlopen.return_value = response mock_urlopen.return_value.getcode.return_value = 200 - response.content = self.CSV + response.read.return_value = self.CSV schedule = ( db.session.query(SliceEmailSchedule) @@ -404,8 +404,7 @@ class SchedulesTestCase(SupersetTestCase): mock_open.return_value = response mock_urlopen.return_value = response mock_urlopen.return_value.getcode.return_value = 200 - response.content = self.CSV - + response.read.return_value = self.CSV schedule = ( db.session.query(SliceEmailSchedule) .filter_by(id=self.slice_schedule)