From 7a6631881fea92d46c8046f56eac59a9601ee99f Mon Sep 17 00:00:00 2001 From: Maciej Pienczyn Date: Sat, 17 Jan 2026 17:34:44 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20Naprawiono=20b=C5=82=C4=85d=20sk=C5=82ad?= =?UTF-8?q?ni=20f-string=20w=20=5Fextract=5Fdate=5Ffrom=5Ftext?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Przeniesiono logikę kwartału z inline dict do funkcji _quarter_to_date() - f-string z dict literal nie jest wspierany w Python 3.11 Co-Authored-By: Claude Opus 4.5 --- zopk_knowledge_service.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/zopk_knowledge_service.py b/zopk_knowledge_service.py index e4b14aa..a83a5cc 100644 --- a/zopk_knowledge_service.py +++ b/zopk_knowledge_service.py @@ -2505,7 +2505,7 @@ def _extract_date_from_text(text: str) -> str: # "I kwartał 2025" (r'\b(I|II|III|IV)\s*kwarta\w*\s*(20[2-3]\d)', - lambda m: f"{m.group(2)}-{{'I':1,'II':4,'III':7,'IV':10}[m.group(1)]:02d}-01"), + lambda m: _quarter_to_date(m.group(1), m.group(2))), ] for pattern, formatter in patterns: @@ -2533,6 +2533,13 @@ def _month_to_date(month_name: str, year: str) -> str: return f"{year}-01-01" +def _quarter_to_date(quarter: str, year: str) -> str: + """Convert Roman numeral quarter to date string.""" + quarters = {'I': '01', 'II': '04', 'III': '07', 'IV': '10'} + month = quarters.get(quarter, '01') + return f"{year}-{month}-01" + + def _is_past_event(text: str) -> bool: """ Detect if milestone text describes a past event (completed)