Added explanatory comments to clarify the order of conditional statements, especially the importance of checking --stats before the last available rate functionality

This commit is contained in:
Kadu
2025-08-20 14:06:14 +02:00
parent ee0f05f583
commit 51193ab933

View File

@@ -242,7 +242,10 @@ def main():
if DEBUG: if DEBUG:
print("Chyba: Pro použití --get-rate musí být zadána měna pomocí -c/--currency.") print("Chyba: Pro použití --get-rate musí být zadána měna pomocí -c/--currency.")
sys.exit(1) sys.exit(1)
# DŮLEŽITÉ: Pořadí následujících elif podmínek je důležité!
# Nejprve zpracujeme --stats, pak teprve "poslední dostupný kurz"
elif args.stats is not None and args.currency: elif args.stats is not None and args.currency:
# --stats s nebo bez roku + s měnou
currency_code = args.currency currency_code = args.currency
if args.stats is True: if args.stats is True:
# Pokud je --stats zadán bez roku, vytvoříme kurzy pro všechny roky s dostupnými daty # Pokud je --stats zadán bez roku, vytvoříme kurzy pro všechny roky s dostupnými daty
@@ -308,6 +311,7 @@ def main():
print(f"'Jednotný kurz' pro daňové účely podle metodiky ČNB pro {currency_code} za rok {year} nebyl nalezen.") print(f"'Jednotný kurz' pro daňové účely podle metodiky ČNB pro {currency_code} za rok {year} nebyl nalezen.")
elif args.currency and not args.get_rate: elif args.currency and not args.get_rate:
# Pokud je zadána měna, ale není zadán --get-rate, vytiskneme poslední dostupný kurz # Pokud je zadána měna, ale není zadán --get-rate, vytiskneme poslední dostupný kurz
# Toto musí být až po --stats, jinak by se --stats nikdy nevykonalo
currency_code = args.currency currency_code = args.currency
debug_print(f"Vyhledávám poslední dostupný kurz pro {currency_code}...") debug_print(f"Vyhledávám poslední dostupný kurz pro {currency_code}...")
rate, date = database.get_last_rate_for_currency(currency_code) rate, date = database.get_last_rate_for_currency(currency_code)