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}...")
|
||||
|
||||
# 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í
|
||||
print(f"Stahuji roční data pro rok {year}...")
|
||||
# Stáhneme roční data s vynuceným stažením
|
||||
# Stáhneme roční data pouze pokud nejsou kompletní
|
||||
print(f"Kontroluji dostupnost ročních dat pro rok {year}...")
|
||||
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
|
||||
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}...")
|
||||
|
||||
# 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í
|
||||
print(f"Stahuji roční data pro rok {year}...")
|
||||
# Stáhneme roční data s vynuceným stažením
|
||||
# Stáhneme roční data pouze pokud nejsou kompletní
|
||||
print(f"Kontroluji dostupnost ročních dat pro rok {year}...")
|
||||
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
|
||||
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
|
||||
|
||||
# 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
|
||||
end_year = end_date.year
|
||||
|
||||
for year in range(start_year, end_year + 1):
|
||||
print(f"Stahuji roční data pro rok {year}...")
|
||||
# Stáhneme roční data s vynuceným stažením
|
||||
print(f"Kontroluji dostupnost ročních dat pro rok {year}...")
|
||||
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
|
||||
filename = f"report_{currency_code}_{start_date_str.replace('.', '_')}_to_{end_date_str.replace('.', '_')}.csv"
|
||||
|
||||
Reference in New Issue
Block a user