fix: Fix report generation to respect data completeness check
- Modified generate_yearly_report(), generate_monthly_report(), and generate_period_report() to use force=False when downloading yearly data - Removed hardcoded force=True that was bypassing the smart downloading logic - Report generation now respects data completeness check and avoids unnecessary downloads - Maintains backward compatibility and data integrity - Reports are still generated with most current data when needed
This commit is contained in:
@@ -110,11 +110,10 @@ def generate_yearly_report(year, currency_code, output_dir="data"):
|
|||||||
print(f"Generuji report kurzů pro {currency_code} za rok {year}...")
|
print(f"Generuji report kurzů pro {currency_code} za rok {year}...")
|
||||||
|
|
||||||
# Zkontrolujeme, zda databáze obsahuje data pro daný rok
|
# Zkontrolujeme, zda databáze obsahuje data pro daný rok
|
||||||
# Pro generování reportu vždy stáhneme aktuální roční data, aby byl report kompletní
|
# Stáhneme roční data pouze pokud nejsou kompletní
|
||||||
print(f"Stahuji roční data pro rok {year}...")
|
print(f"Kontroluji dostupnost ročních dat pro rok {year}...")
|
||||||
# Stáhneme roční data s vynuceným stažením
|
|
||||||
os.makedirs("data", exist_ok=True)
|
os.makedirs("data", exist_ok=True)
|
||||||
data_fetcher.download_yearly_data(year, output_dir="data", force=True)
|
data_fetcher.download_yearly_data(year, output_dir="data", force=False)
|
||||||
|
|
||||||
# Vytvoříme seznam všech dní v roce
|
# Vytvoříme seznam všech dní v roce
|
||||||
start_date = datetime(year, 1, 1)
|
start_date = datetime(year, 1, 1)
|
||||||
@@ -195,11 +194,10 @@ def generate_monthly_report(year, month, currency_code, output_dir="data"):
|
|||||||
print(f"Generuji report kurzů pro {currency_code} za {month}/{year}...")
|
print(f"Generuji report kurzů pro {currency_code} za {month}/{year}...")
|
||||||
|
|
||||||
# Zkontrolujeme, zda databáze obsahuje data pro daný rok
|
# Zkontrolujeme, zda databáze obsahuje data pro daný rok
|
||||||
# Pro generování reportu vždy stáhneme aktuální roční data, aby byl report kompletní
|
# Stáhneme roční data pouze pokud nejsou kompletní
|
||||||
print(f"Stahuji roční data pro rok {year}...")
|
print(f"Kontroluji dostupnost ročních dat pro rok {year}...")
|
||||||
# Stáhneme roční data s vynuceným stažením
|
|
||||||
os.makedirs("data", exist_ok=True)
|
os.makedirs("data", exist_ok=True)
|
||||||
data_fetcher.download_yearly_data(year, output_dir="data", force=True)
|
data_fetcher.download_yearly_data(year, output_dir="data", force=False)
|
||||||
|
|
||||||
# Vytvoříme seznam všech dní v měsíci
|
# Vytvoříme seznam všech dní v měsíci
|
||||||
start_date = datetime(year, month, 1)
|
start_date = datetime(year, month, 1)
|
||||||
@@ -301,15 +299,14 @@ def generate_period_report(start_date_str, end_date_str, currency_code, output_d
|
|||||||
end_date = today
|
end_date = today
|
||||||
|
|
||||||
# Zkontrolujeme, zda databáze obsahuje data pro roky v rozmezí
|
# Zkontrolujeme, zda databáze obsahuje data pro roky v rozmezí
|
||||||
# Pro generování reportu vždy stáhneme aktuální roční data, aby byl report kompletní
|
# Stáhneme roční data pouze pokud nejsou kompletní
|
||||||
start_year = start_date.year
|
start_year = start_date.year
|
||||||
end_year = end_date.year
|
end_year = end_date.year
|
||||||
|
|
||||||
for year in range(start_year, end_year + 1):
|
for year in range(start_year, end_year + 1):
|
||||||
print(f"Stahuji roční data pro rok {year}...")
|
print(f"Kontroluji dostupnost ročních dat pro rok {year}...")
|
||||||
# Stáhneme roční data s vynuceným stažením
|
|
||||||
os.makedirs("data", exist_ok=True)
|
os.makedirs("data", exist_ok=True)
|
||||||
data_fetcher.download_yearly_data(year, output_dir="data", force=True)
|
data_fetcher.download_yearly_data(year, output_dir="data", force=False)
|
||||||
|
|
||||||
# Otevřeme CSV soubor pro zápis
|
# Otevřeme CSV soubor pro zápis
|
||||||
filename = f"report_{currency_code}_{start_date_str.replace('.', '_')}_to_{end_date_str.replace('.', '_')}.csv"
|
filename = f"report_{currency_code}_{start_date_str.replace('.', '_')}_to_{end_date_str.replace('.', '_')}.csv"
|
||||||
|
|||||||
Reference in New Issue
Block a user