From dee634e884d576ab84e0ac74843e67f930b9fb31 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Mon, 9 Sep 2019 20:31:38 +0300 Subject: work around Python 3.4 csv incompatibility --- bin/utils/io.py | 8 ++++++++ vk/tracking/db/io.py | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/bin/utils/io.py b/bin/utils/io.py index 2cd3667..04baa6a 100644 --- a/bin/utils/io.py +++ b/bin/utils/io.py @@ -20,7 +20,15 @@ class FileWriterCSV: def __init__(self, fd=sys.stdout): self._writer = csv.writer(fd, lineterminator='\n') + @staticmethod + def _convert_row_old_python(row): + if isinstance(row, list) or isinstance(row, tuple): + return row + return list(row) + def write_row(self, row): + if sys.version_info < (3, 5): + row = self._convert_row_old_python(row) self._writer.writerow(row) @contextmanager diff --git a/vk/tracking/db/io.py b/vk/tracking/db/io.py index 487a136..37d9c53 100644 --- a/vk/tracking/db/io.py +++ b/vk/tracking/db/io.py @@ -12,7 +12,15 @@ class FileWriterCSV: self._fd = fd self._writer = csv.writer(fd, lineterminator='\n') + @staticmethod + def _convert_row_old_python(row): + if isinstance(row, list) or isinstance(row, tuple): + return row + return list(row) + def write_row(self, row): + if sys.version_info < (3, 5): + row = self._convert_row_old_python(row) self._writer.writerow(row) self._fd.flush() -- cgit v1.2.3