Add date defaults and auto-update for ink changes

- Date-Purchased and Inked-date now default to today when left blank during pen creation
- Purchased date defaults to today when left blank during ink creation
- When changing ink during pen edit, Inked-date automatically updates to today
This commit is contained in:
Don Harper 2026-06-17 18:20:03 -05:00
parent 15b7669fc2
commit 4311642bd4

View file

@ -37,7 +37,10 @@ class CLITracker(PenTracker):
break
value = input(f"Enter {label}: ").strip()
if not value:
value = "N/A"
if key in ['Date-Purchased', 'Inked-date']:
value = datetime.now().strftime('%Y-%m-%d')
else:
value = "N/A"
break
if key in ['Date-Purchased', 'Inked-date']:
if validate_date(value):
@ -81,12 +84,14 @@ class CLITracker(PenTracker):
for header in self.headers:
field = self.key_map.get(header, header)
current_val = getattr(pen, field)
ink_changed = False
while True:
if header == 'Current-Ink':
print(f"Current Ink: {current_val}")
change_ink = input("Change ink? (y/n): ").strip().lower()
if change_ink == 'y':
new_val = self.select_ink()
ink_changed = True
break
else:
new_val = ""
@ -103,6 +108,9 @@ class CLITracker(PenTracker):
break
if new_val: # If the user actually typed something new
setattr(pen, field, new_val)
# If ink was changed, automatically update Inked-date to today
if ink_changed:
setattr(pen, 'Inked_date', datetime.now().strftime('%Y-%m-%d'))
self.save_data()
print("\n[✔] Pen updated successfully!")
@ -194,7 +202,10 @@ class CLITracker(PenTracker):
while True:
value = input(f"Enter {label}: ").strip()
if not value:
value = "N/A"
if key == 'Purchased':
value = datetime.now().strftime('%Y-%m-%d')
else:
value = "N/A"
break
if key == 'Purchased':
if validate_date(value):