commit 690c71846297c4f40153191c53c76881c703e83f
parent e6f2eeaf9b1f7c77990f77f39a029e1bac806df5
Author: Carlosokumu <carlosokumu254@gmail.com>
Date: Tue, 31 Mar 2026 23:08:01 +0300
add parsing for newly allowed time formats
Diffstat:
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/dummy/usawa/gui/controllers/entry_controller.py b/dummy/usawa/gui/controllers/entry_controller.py
@@ -17,15 +17,19 @@ class EntryController:
def collect_entry_data(self, view) -> Optional[LedgerEntry]:
"""Collect data from the view and create an entry"""
-
tx_date_str = view.date_entry.get_text().strip()
tx_time_str = view.time_entry.get_text().strip()
-
try:
if tx_time_str:
- tx_date = datetime.strptime(
- f"{tx_date_str} {tx_time_str}", "%Y-%m-%d %H:%M:%S"
- )
+ for fmt in ("%Y-%m-%d %H:%M:%S", "%Y-%m-%d %H:%M"):
+ try:
+ tx_date = datetime.strptime(f"{tx_date_str} {tx_time_str}", fmt)
+ break
+ except ValueError:
+ continue
+ else:
+ logg.error("Invalid time format, use H:MM or H:MM:SS")
+ return None
else:
tx_date = datetime.strptime(tx_date_str, "%Y-%m-%d").date()
except ValueError:
@@ -44,13 +48,11 @@ class EntryController:
dest_type=view.get_dest_type(),
dest_path=view.dest_path_entry.get_text().strip(),
)
-
is_valid, error_msg = entry.validate()
if not is_valid:
logg.error(f"Validation failed: {error_msg}")
return None
return entry
-
except ValueError as e:
logg.error(f"Failed to collect entry data: {e}")
return None