From 49a21ca9cf9c02f9bebe3f15ae3372b2b986415f Mon Sep 17 00:00:00 2001 From: bronsen Date: Thu, 19 Feb 2026 20:42:50 +0100 Subject: [PATCH] models: be even more defensive when parsing input also we finally read the documentation for str.find() https://docs.python.org/3/library/stdtypes.html#str.find --- src/teilchensammler_cli/models.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/teilchensammler_cli/models.py b/src/teilchensammler_cli/models.py index 86233f4..134c648 100644 --- a/src/teilchensammler_cli/models.py +++ b/src/teilchensammler_cli/models.py @@ -37,12 +37,20 @@ async def make_teilchen_input(text: str) -> TeilchenCreate | None: import re from natsort import natsorted + text = text.strip() + if not text: logger.error("Empty text.") return None name_end = text.find(".") - name = text[0:name_end] + if name_end == -1: # "." not in text + logger.warning("Missing period '.' from text.") + logger.debug("Could not find period symbol in input: %s", text) + return None + else: + name = text[0:name_end] + if not name: logger.error("Could not extract name.") logger.debug("Could not extract name from input: %s", text)