From 4e6d1bc0f2b701d78fcf4974df77ef1d71a1ea43 Mon Sep 17 00:00:00 2001 From: anthony sottile Date: Thu, 25 Jul 2024 13:38:02 -0400 Subject: [PATCH] ref: remove CsvMixin --- src/sentry/web/frontend/mixins/csv.py | 36 --------------------------- 1 file changed, 36 deletions(-) delete mode 100644 src/sentry/web/frontend/mixins/csv.py diff --git a/src/sentry/web/frontend/mixins/csv.py b/src/sentry/web/frontend/mixins/csv.py deleted file mode 100644 index 41375964c97896..00000000000000 --- a/src/sentry/web/frontend/mixins/csv.py +++ /dev/null @@ -1,36 +0,0 @@ -import csv - -from django.http import StreamingHttpResponse - - -# csv.writer doesn't provide a non-file interface -# https://docs.djangoproject.com/en/1.9/howto/outputting-csv/#streaming-large-csv-files -class Echo: - def write(self, value): - return value - - -class CsvMixin: - """deprecated: will be removed! use sentry.web.csv.CsvResponder instead!""" - - def get_header(self, **kwargs): - return () - - def get_row(self, item, **kwargs): - return () - - def to_csv_response(self, iterable, filename, **kwargs): - def row_iter(): - header = self.get_header(**kwargs) - if header: - yield header - for item in iterable: - yield self.get_row(item, **kwargs) - - pseudo_buffer = Echo() - writer = csv.writer(pseudo_buffer) - response = StreamingHttpResponse( - (writer.writerow(r) for r in row_iter()), content_type="text/csv" - ) - response["Content-Disposition"] = f'attachment; filename="{filename}.csv"' - return response