Skip to content

Commit 6483aac

Browse files
authored
Ignore empty strings in SplittingInterpreter (#133)
The splitting originally did behave like this but was modified. It is not clear what the use case for empty strings would be and this behaviour prevents further work to integrate PMAC.
1 parent 6e22b8d commit 6483aac

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/tickit/adapters/interpreters/wrappers/splitting_interpreter.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,9 @@ async def handle(
8787
indicating whether an interrupt should be raised by the adapter.
8888
"""
8989
individual_messages = [
90-
msg for msg in re.split(self.message_delimiter, message) if msg is not None
90+
msg
91+
for msg in re.split(self.message_delimiter, message)
92+
if msg # Discard empty strings and None
9193
]
9294

9395
results = await self._handle_individual_messages(adapter, individual_messages)

tests/adapters/interpreters/wrappers/test_splitting_interpreter.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ async def _test_sub_messages(
4141
(b"foo/bar", b"/", [b"foo", b"bar"]),
4242
("single message", "/", ["single message"]),
4343
("just1the2words", r"[1-4]", ["just", "the", "words"]),
44-
("#1J=1 #2 P", r"(#[1-8])|\s", ["", "#1", "J=1", "", "#2", "", "P"]),
44+
("#1J=1 #2 P", r"(#[1-8])|\s", ["#1", "J=1", "#2", "P"]),
4545
],
4646
)
4747
@patch.object(DummySplittingInterpreter, "_collect_responses")
@@ -148,7 +148,7 @@ async def test_handles_empty_messages_correctly(
148148

149149
await splitting_interpreter.handle(AsyncMock(), "")
150150

151-
mock_handle_individual_messages.assert_called_once_with(ANY, [""])
151+
mock_handle_individual_messages.assert_called_once_with(ANY, [])
152152

153153

154154
@pytest.mark.parametrize(
@@ -171,4 +171,4 @@ async def test_delimiter_only_message_results_in_empty_messages_handled(
171171

172172
await splitting_interpreter.handle(AsyncMock(), message)
173173

174-
mock_handle_individual_messages.assert_called_once_with(ANY, ["", ""])
174+
mock_handle_individual_messages.assert_called_once_with(ANY, [])

0 commit comments

Comments
 (0)