From 25c6e3c0d867300b4dce268b0c3d97deb3d7b9da Mon Sep 17 00:00:00 2001 From: Florian Spreckelsen <f.spreckelsen@indiscale.com> Date: Wed, 24 Apr 2024 14:04:47 +0200 Subject: [PATCH] ENH: Return empty dataframe in case of empty container --- CHANGELOG.md | 3 +++ src/caosadvancedtools/table_converter.py | 3 +-- unittests/test_table_converter.py | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2dbc1ee2..9b8ee250 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed ### +* `table_converter.to_table` now returns an empty DataFrame instead of raising a + ValueError when called with an empty container. + ### Deprecated ### ### Removed ### diff --git a/src/caosadvancedtools/table_converter.py b/src/caosadvancedtools/table_converter.py index adaa2578..7d1097e1 100644 --- a/src/caosadvancedtools/table_converter.py +++ b/src/caosadvancedtools/table_converter.py @@ -52,8 +52,7 @@ def to_table(container): """Create a table from the records in a container.""" if len(container) == 0: - raise ValueError("Container is empty") - # TODO Why not this? return pd.DataFrame() + return pd.DataFrame() rts = {p.name for p in container[0].parents} data = [] diff --git a/unittests/test_table_converter.py b/unittests/test_table_converter.py index 23068744..9b1ac11b 100644 --- a/unittests/test_table_converter.py +++ b/unittests/test_table_converter.py @@ -43,7 +43,8 @@ class TableTest(unittest.TestCase): def test_empty(self): c = db.Container() - self.assertRaises(ValueError, to_table, c) + df = to_table(c) + assert df.shape == (0, 0) def test_different_props(self): r1 = db.Record() -- GitLab