summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2020-06-15 07:42:51 +0200
committerGitHub <noreply@github.com>2020-06-15 08:42:51 +0300
commitce79e44d14f151e37316144f66dedb2ace2f37dc (patch)
tree5910a5d79adc3be4c787088c8ad040a01a1f3f0f
parent985c3d98b02b8bdb24f4a52a215eb4200912cfb6 (diff)
downloadtablib-ce79e44d14f151e37316144f66dedb2ace2f37dc.tar.gz
Fixes #469 - Prevented rst crash with only-space strings (#470)
Thanks nexone for the report.
-rw-r--r--HISTORY.md6
-rw-r--r--src/tablib/formats/_rst.py2
-rwxr-xr-xtests/test_tablib.py2
3 files changed, 9 insertions, 1 deletions
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'
'========== ========= ==='
)