# tests/export_station_data_full.py from __future__ import annotations from pathlib import Path import sys from contextlib import closing PROJECT_ROOT = Path(__file__).resolve().parents[3] if str(PROJECT_ROOT) not in sys.path: sys.path.insert(0, str(PROJECT_ROOT)) from meteo.config import InfluxSettings from meteo.influx_client import create_influx_client from meteo.station_config import default_station_config from meteo.export import export_station_data def main() -> None: """ Exporte l'historique complet de la station météo vers un fichier CSV. On utilise `start=0`, ce qui signifie "depuis le début des données" (en pratique depuis l'epoch, donc tout ce que le bucket contient). """ settings = InfluxSettings.from_env() station_config = default_station_config() print("Configuration InfluxDB :") print(f" URL : {settings.url}") print(f" Org : {settings.org}") print(f" Bucket : {settings.bucket}") print() print("⚠ Attention : un export complet peut produire un fichier volumineux " "et prendre un certain temps si l'historique est long.") print() with closing(create_influx_client(settings)) as client: print("→ Export de l'historique complet…") output_path = export_station_data( client=client, bucket=settings.bucket, config=station_config, start="0", # depuis le début des données stop=None, # jusqu'à maintenant output_path="data/weather_raw_full.csv", file_format="csv", # vous pouvez mettre "parquet" si vous préférez ) print() print(f"✔ Export terminé : {output_path}") if __name__ == "__main__": main()