From ce79e44d14f151e37316144f66dedb2ace2f37dc Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Mon, 15 Jun 2020 07:42:51 +0200 Subject: Fixes #469 - Prevented rst crash with only-space strings (#470) Thanks nexone for the report. --- HISTORY.md | 6 ++++++ src/tablib/formats/_rst.py | 2 +- tests/test_tablib.py | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 12b8fc6..1a90bb0 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,11 @@ # History +## Unreleased + +### Bugfixes + +- Prevented crash in rst export with only-space strings (#469). + ## 2.0.0 (2020-05-16) ### Breaking changes diff --git a/src/tablib/formats/_rst.py b/src/tablib/formats/_rst.py index 6dce91f..afbf1ca 100644 --- a/src/tablib/formats/_rst.py +++ b/src/tablib/formats/_rst.py @@ -24,7 +24,7 @@ def _max_word_len(text): >>> _max_word_len('Python Module for Tabular Datasets') 8 """ - return max(len(word) for word in text.split()) if text else 0 + return max([len(word) for word in text.split()], default=0) if text else 0 class ReSTFormat: diff --git a/tests/test_tablib.py b/tests/test_tablib.py index 3efc87f..f4c0109 100755 --- a/tests/test_tablib.py +++ b/tests/test_tablib.py @@ -659,6 +659,7 @@ class RSTTests(BaseTestCase): data.headers = self.headers data.append(self.john) data.append(('Wendy', '', 43)) + data.append(('Esther', ' ', 31)) self.assertEqual( data.export('rst'), '========== ========= ===\n' @@ -666,6 +667,7 @@ class RSTTests(BaseTestCase): '========== ========= ===\n' 'John Adams 90 \n' 'Wendy 43 \n' + 'Esther 31 \n' '========== ========= ===' ) -- cgit v1.2.1