From 2b5053b75b953633f5cdaa8194c0992ddd97f909 Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Wed, 29 Jan 2025 03:41:56 +0100
Subject: [PATCH] Fix handling of erroneous date fields.

---
 ledger.py | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/ledger.py b/ledger.py
index 0c6ed5e..ebb188f 100755
--- a/ledger.py
+++ b/ledger.py
@@ -144,23 +144,17 @@ class IntroLine(BookingLine):
 
     def __init__(self, booking: 'Booking', code: str) -> None:
         super().__init__(booking)
-        self.date = '#'
-        self.target = ''
         if code[0].isspace():
             self.errors += ['intro line indented']
         toks = code.lstrip().split(maxsplit=1)
-        if len(toks) != 2:
+        self.date = toks[0]
+        self.target = toks[1] if len(toks) > 1 else ''
+        if len(toks) == 1:
             self.errors += ['illegal number of tokens']
-        elif len(toks) < 1:
-            return
-        else:
-            self.target = toks[1]
         try:
-            dt_date.fromisoformat(toks[0])
+            dt_date.fromisoformat(self.date)
         except ValueError:
-            self.errors += [f'not properly formatted legal date: {toks[0]}']
-        else:
-            self.date = toks[0]
+            self.errors += [f'not properly formatted legal date: {self.date}']
 
     @property
     def as_dict(self) -> dict:
-- 
2.30.2